Python项目遇未知语法错误:函数调用缺)、if缺对应else如何修复
语法错误排查与修复
问题1:括号缺失与逻辑错误
你定义option的代码行存在两个问题:
- 语法层面:
input调用结束后只闭合了input的左括号,外层print的左括号没有对应右括号,直接触发语法报错。 - 逻辑层面:
print()函数的返回值是None,你将print的返回值赋值给option完全无法拿到用户输入的选项,而且input()返回的是字符串类型,直接和整数1、2比对永远不成立。
问题2:if缺失else的误报
这个报错是括号缺失的次生问题:Python解析器因为前序代码括号不匹配,无法正确识别后续的代码块结构,才会错误提示你if语句没有对应的else分句,只要修复括号问题,这个报错会自动消失。
修复后可运行代码
def main_menu(): print("WELCOME TO LIBRARY") print("What would you like to do?") # 去掉多余的print,将input返回的字符串转成整数 option = int(input("1. New user \n 2. Existing user ")) if option == 1: new_user() elif option == 2: old_user() else: print("please choose a correct value") main_menu() def new_user(): print("new user") def old_user(): print("Old user") main_menu()
内容的提问来源于stack exchange,提问作者VIKING
相关产品推荐
相关产品推荐

