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

Python中在def自定义函数内使用if语句遇到运行问题求助

Python自定义函数中if语句报错修复方案

核心错误原因

  • Python 依靠缩进层级区分代码块范围,不支持用{}包裹函数体、条件分支等代码结构,你代码中函数内部的大括号属于非法语法,是触发报错的核心原因
  • 全局定义的num2=0和函数形参重名,函数运行时会优先使用调用时传入的实参,该全局变量属于冗余代码不会生效

最小改动可运行版本

仅删除多余大括号即可正常运行:

num2= 0
def a(e,num1,num2):
    if e == "+":
        print(num1 + num2)
num1 = int(input(""))
e = (input(""))
num2 = int(input(""))
a(e,num1,num2)

优化版本(可读性更强)

优化函数命名、增加输入提示,更符合Python编码规范:

def calc(operator, num1, num2):
    if operator == "+":
        print(num1 + num2)

num1 = int(input("请输入第一个整数:"))
operator = input("请输入运算符(当前仅支持+):")
num2 = int(input("请输入第二个整数:"))
calc(operator, num1, num2)

内容的提问来源于stack exchange,提问作者anonimos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 17:15:02