根据season_num输出对应季节的Python代码无法正常运行求助
代码问题排查与修复
原代码核心问题
- 变量
season_num被错误定义为固定列表[1,2,3,4],代码实际是循环遍历列表元素输出季节,完全忽略用户输入,和需求完全不符。 input()语句仅获取输入但未赋值给变量,用户输入根本没参与后续逻辑判断。- 开头的
if not season_num是检查列表是否为空,和验证用户输入有效性的逻辑无关,属于无效判断。
修复后的代码
try: season_num = int(input('请输入1-4之间的数字:')) except ValueError: print('错误:请输入1-4范围内的整数') else: if season_num == 1: print('Spring') elif season_num == 2: print('Summer') elif season_num == 3: print('Fall') elif season_num == 4: print('Winter') else: print('错误:数字必须在1-4之间')
关键修改说明
- 改为接收用户输入的整数,用
try-except捕获非数字输入的异常,确保输入有效性。 - 移除无意义的列表遍历逻辑,直接根据用户输入的数字匹配对应季节。
- 增加超出范围的错误提示,完善逻辑覆盖。
内容的提问来源于stack exchange,提问作者Raouf Yahiaoui
相关产品推荐
相关产品推荐

