Python中Try-Except语句缩进不匹配问题求助
解决Python缩进不匹配及逻辑错误问题
问题排查
- 缩进错误:
except语句的缩进未与try保持同级,违反Python缩进语法;if语句仅声明了条件判断,没有对应的缩进代码块,语法不完整。 - 逻辑缺陷:
input()返回字符串类型,直接和整数范围range(1,6)对比永远不成立;且类型转换操作未放入try块,无法捕获非数字输入的异常。
修正后的代码
def landing(): try: print("1) 创建新会员") print("2) 查看罚款") print("3) 查看逾期项目") print("4) 查看可用服务") print("5) 退出: ") choice = int(input("请输入菜单中的数字:")) if choice in range(1,6): # 在此添加对应选项的业务逻辑,例如调用相关处理函数 print(f"你选择了选项 {choice}") else: print("请输入1-5之间的数字") except ValueError: print("输入无效,请输入1-5之间的数字")
修正说明
- 调整
except的缩进至与try同级,符合Python语法规范。 - 为
if语句补充缩进代码块,同时添加else分支处理超出1-5范围的整数输入。 - 将输入转换为整数的操作放入
try块内,确保非数字输入时能触发ValueError并被except捕获处理。
内容的提问来源于stack exchange,提问作者KCamp
相关产品推荐
相关产品推荐

