如何在while循环中获取用户输入赋值给变量?Python代码求助
解答
完全可以在循环运行过程中获取用户输入并赋值给变量,不需要为一周内的每一天单独声明独立变量,用while循环改写的实现逻辑和代码如下:
- 初始化循环起始索引为0、总消费金额初始值为0,以「索引小于星期列表长度」作为while循环的运行条件
- 每轮循环取当前索引对应的星期名称,弹出输入提示获取当日咖啡消费金额
- 将输入的金额转换为数值类型后累加到总消费变量中,索引自增1;当索引遍历完所有星期项时自动退出循环
- 循环结束后输出总消费统计结果
def get_totalspent(): print("请输入一周内每天的咖啡消费金额\n") weekdays = ["周日","周一","周二","周三","周四","周五","周六"] totalSpent = 0 day_index = 0 while day_index < len(weekdays): current_day = weekdays[day_index] # 循环内实时获取用户输入,直接参与累加计算 day_spent = float(input(f"请输入{current_day}的消费金额:")) totalSpent += day_spent day_index += 1 print(f"你本周在咖啡上总共消费了{totalSpent}美元,或许可以考虑少摄入点咖啡因!")
注意:原代码使用eval()处理用户输入存在安全隐患,若用户输入恶意代码会被直接执行,替换为float()做显式数值转换更稳妥;上述代码已将原版本中的英文交互文案翻译为中文,同时修正了原代码里星期列表首字母不统一、单词拼写错误的小问题。
内容的提问来源于stack exchange,提问作者JayFran
相关产品推荐
相关产品推荐

