Python中如何让用户输入覆盖预设变量并维持修改后的值?
解决配置变量覆盖问题
你代码的核心问题是赋值方向搞反了,而且没有把用户输入的字符串转成整数类型。下面是修正后的完整代码,同时补充了退出逻辑和反馈提示:
centreLine = 109 while True: print("| [1] 修改屏幕中心线位置") print("| [2] 修改用户名") print("| [3] 修改密码") print("| [BACK] 退出设置") print("| > ") settingsInput = input().strip() if settingsInput == "1": print("| 请输入新的中心线位置: ") inputCentreLine = input().strip() # 先验证输入是否是整数,避免报错 if inputCentreLine.isdigit(): centreLine = int(inputCentreLine) print(f"| 中心线位置已更新为: {centreLine}") else: print("| 输入无效,请输入整数") elif settingsInput.lower() == "back": print("| 退出设置") break elif settingsInput in ["2", "3"]: print("| 该功能待实现") else: print("| 输入选项无效,请重新选择") # 测试:退出后变量值保持修改后的结果 print(f"最终中心线位置: {centreLine}")
关键修正点:
- 赋值方向:把
inputCentreLine = centreLine改成centreLine = int(inputCentreLine),这样才是用用户输入覆盖原变量 - 类型转换:
input()返回的是字符串,必须转成整数才能和原变量的数值类型匹配 - 输入验证:增加
isdigit()判断,防止用户输入非整数导致程序报错 - 退出逻辑:处理
BACK输入,让循环可以正常结束,变量值会一直保留到程序结束
内容的提问来源于stack exchange,提问作者TrickyTaco11
相关产品推荐
相关产品推荐

