Python模块运行时price_of_items函数print(idx,item)无输出问题
Python程序无print输出问题排查
你的代码存在4处语法/逻辑错误,导致无法执行到print(idx,item)环节,具体问题如下:
- 变量名拼写不一致:函数开头定义的存储价格的空列表名为
prices_items,后续添加元素时错误写为price_items,元素实际没有存入目标列表,遍历空列表不会触发打印。 input()传参错误:input()仅接受1个字符串类型的提示符参数,原代码写为input("Please enter the price of",+item),多传参数且字符串拼接语法错误,运行到此处会直接抛出异常,终止执行。- 赋值操作符写错:非法输入校验环节的
option-option.upper()误把等于号=写为减号-,没有完成输入大写转换,会导致输入小写a也一直判定为非法,无法进入价格录入逻辑。 - 入口函数调用缩进错误:末尾的
main()调用缩进错误,属于main函数内部内容,脚本运行时不会主动执行入口函数,全程无任何输出。
修正后完整代码
def price_of_items(): items = ["梨", "苹果", "葡萄"] prices_items = [] for item in items: # 修正input参数和字符串拼接逻辑 price = int(input(f"请输入{item}的价格:")) # 修正变量名 prices_items.append(price) for idx, item in enumerate(prices_items): print(idx, item) return def main(): option = "" while option != "X": print("主菜单") print() print("A/商品定价") print("X/退出") option = input("请从上述菜单中选择选项A或X:") option = option.upper() while option not in ("A", "X"): print("输入无效") option = input("请选择A或X:") # 修正赋值操作符 option = option.upper() if option == "A": price_of_items() else: exit() # 修正缩进,顶格调用入口函数 main()
内容的提问来源于stack exchange,提问作者GoitomFess
相关产品推荐
相关产品推荐

