Python条件语句与函数语法错误排查及取模问题咨询
问题解决与代码修正
一、日期计算函数的错误修正
你写的函数存在三个明显错误,直接导致了SyntaxError: cannot assign to function call及其他潜在问题:
条件判断语法错误:
代码里if m= 1 or 2:是赋值操作(=),判断相等必须用比较运算符==,同时逻辑判断要完整,正确写法是if m == 1 or m == 2:,或者更简洁的if m in (1, 2):。未传入必要参数:
函数里用到了变量y,但函数定义def first_g(m):只接收m作为参数,y属于未定义变量,必须把y作为参数传入函数。函数调用写法错误:
最后一行first_g(1)=是试图给函数调用结果赋值,完全不符合Python语法,正确做法是调用函数并输出结果,比如print(first_g(1, 2024)),或者把结果赋值给变量result = first_g(1, 2024)。
修正后的函数示例:
def first_g(m, y): if m in (1, 2): return y - 1 else: return y # 调用示例 print(first_g(1, 2024)) # 输出2023
二、终端运算17%15的问题解决
你在终端直接输入17%15时,%是系统shell的通配符,会匹配当前目录下文件名包含17且后续字符加上15的文件,所以返回文件名。
正确做法有两种:
- 进入Python交互环境计算:终端输入
python(或python3,根据你的Python版本),进入交互模式后输入17 % 15,回车即可得到结果2。 - 直接在终端一行执行:
python -c "print(17 % 15)"
内容的提问来源于stack exchange,提问作者Ziggy
相关产品推荐
相关产品推荐

