You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 11:36:03