Python列表应用问题:工作日销售额统计程序故障排查求助
问题分析与修正
你的代码存在多处语法和逻辑问题,逐个给你指出并修正:
具体错误点
- 语法缺失:
while循环语句末尾必须添加冒号:,否则Python会直接抛出语法错误 - input函数误用:
input()仅能接收一个字符串参数,你传入了多个参数,需要用字符串拼接或f-string合并成单个提示文本 - 注释格式错误:Python的单行注释用
#,而非//(这是Java/JavaScript的注释方式) - 未定义变量:你只声明了
sales1,但计算总额时用到的sales2到sales5完全没有定义,运行会触发NameError - 全局变量不规范:
index是全局变量,在函数内修改它需要额外声明global index,但这种写法本身就冗余,不如直接遍历列表 - 函数未执行:你定义了
sales_by_days函数,但没有调用它,代码不会产生任何实际效果
修正后的代码
用更简洁且符合Python风格的方式实现需求,通过遍历工作日列表累加销售额:
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'] def sales_by_days(days): total_sales = 0.0 for day in days: # 用f-string生成直观的输入提示 daily_sales = float(input(f"Enter sales for {day} here: ")) total_sales += daily_sales print(f"Your total sales for the week are {total_sales}.") # 调用函数执行逻辑 sales_by_days(days)
额外说明
- 用
for循环遍历列表比手动维护index更清晰,也避免了索引越界的风险 - 用单个累加变量替代多个单独的销售额变量,扩展性更强(比如后续要增加周六周日,只需修改
days列表即可,无需改动计算逻辑) - f-string是Python3.6+的特性,比传统字符串拼接更直观易读
内容的提问来源于stack exchange,提问作者Stickbear
相关产品推荐
相关产品推荐

