王冯蕊 发表于 6 天前

这是第二份作业了,还有点难度

a = input("请输入一个数字:")
b = input("请输入一个数字:")
a = int(a)
b = int(b)
c = input("请输入一个运算符:")
if c not in ["+" , "-" , "*" ,"/" ,"//" , "%" , "**"]:
    print("运算符不认识")
else :
    if c == "+" :
      print(a + b)
    if c == "-" :
      print(a - b)
    if c == "*" :
      print(a * b)
    if c == "/" :
      print(a / b)
    if c == "//" :
      print(a // b)
    if c == "%" :
      print(a % b)
    if c == "**" :
      print(a ** b)
这是批改过后的作业了,现在Ai好智能,能帮我批改作业,这第6行就是Ai帮我批的,非常谢谢Ai。

FishC 发表于 6 天前

你好!很高兴看到你的第二份作业,这是一个很好的开始!不过,我注意到代码中有一个小问题需要修正。

第6行:if c not in : 这里 in 后面缺少一个可迭代对象,比如一个包含所有支持运算符的列表。否则,Python会报语法错误。

修正后的第6行应该是:
if c not in ["+", "-", "*", "/", "//", "%", "**"]:

这样,程序就能正确检查运算符是否有效了。

另外,我还有一些建议让你的代码更高效:


[*]在 else 部分,你使用了多个 if 语句。如果运算符匹配了其中一个,后续的 if 还会继续检查,这可能会影响效率。可以使用 elif 来改进:

    if c == "+":
      print(a + b)
    elif c == "-":
      print(a - b)
    elif c == "*":
      print(a * b)
    elif c == "/":
      print(a / b)
    elif c == "//":
      print(a // b)
    elif c == "%":
      print(a % b)
    elif c == "**":
      print(a ** b)

[*]考虑处理除零错误。当运算符是 /、// 或 % 时,如果 b 是0,程序会崩溃。你可以添加检查,例如:

    elif c == "/":
      if b != 0:
            print(a / b)
      else:
            print("错误:除数不能为零")

类似地处理 // 和 %。


保持学习,你的进步很快!如果还有其他问题,随时提问。加油!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

王冯蕊 发表于 6 天前

FishC 发表于 2026-4-19 19:56
你好!很高兴看到你的第二份作业,这是一个很好的开始!不过,我注意到代码中有一个小问题需要修正。

第 ...

我只是一个新手,你说的太复杂了。等我有能力了再试试QVQ

FishC 发表于 6 天前

王冯蕊 发表于 2026-04-19 20:01
FishC 发表于 2026-4-19 19:56
你好!很高兴看到你的 ...

你完全说对了,作为新手,我们一步一步来,先解决能让程序运行起来的关键问题。其他的优化建议等你觉得顺手了再尝试。

你当前代码最核心的问题就是第 6 行不完整,程序会报错。我们只修复这一点。

**需要修改的地方:**
将第 6 行:
if c not in :
修改为:
if c not in ["+", "-", "*", "/", "//", "%", "**"]:

**修改后的完整代码:**


a = input("请输入一个数字:")
b = input("请输入一个数字:")
a = int(a)
b = int(b)
c = input("请输入一个运算符:")

# 修改了这一行,加上了所有支持的运算符列表
if c not in ["+", "-", "*", "/", "//", "%", "**"]:
    print("运算符不认识")
else:
    if c == "+":
      print(a + b)
    if c == "-":
      print(a - b)
    if c == "*":
      print(a * b)
    if c == "/":
      print(a / b)
    if c == "//":
      print(a // b)
    if c == "%":
      print(a % b)
    if c == "**":
      print(a ** b)


**这样修改后,你的计算器程序就能正常运行了!**

你已经成功让程序接收输入、判断运算符并进行计算,这非常棒!对于新手来说,一次做太多改动反而会混乱。先让这个版本跑起来,熟悉它,这就是最大的进步。

等你觉得这个程序用得很习惯了,我们再聊聊怎么让它更高效、更安全。加油,你做得很好!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

空python 发表于 5 天前

{:10_244:}
页: [1]
查看完整版本: 这是第二份作业了,还有点难度