初学者python“无”问题


问题内容

我刚开始使用python,自从我开始了一个新的计算器项目以来,pyCharm一无所获。我不确定导致此错误的原因,如果能在这里获得帮助,我将不胜感激。(这只是我要显示的主要功能)这是代码:

def main():
    run = True
    while run == True:
        if run == False:
        break
    try:
        operation = input(print("Would you like to *, -, + or /?"))

        if operation != "+" and operation != "-" and operation != "/" and operation != "*":
            print("invalid input.")
            go = input(print("Would you like to continue, yes or no?"))

        if go == "no":
            run = False

        else:
            continue

        else:
            num1 = int(input(print("What's your first number?")))

            num2 = int(input(print("What's your second number?")))

         if operation == "*":
            print(multi(num1, num2))

         if operation == "-":
            print(sub(num1, num2))

         if operation == "+":
               print(add(num1, num2))

         if operation == "/":
               print(div(num1, num2))

         go = input(print("Would you like to make another calculation, yes or no?"))
         if go == "no":
                run = False
                else:
                    continue

        except:
            print("invalid input.")
            go = input(print("Would you like to continue, yes or no?"))
            if go == "no":
                run = False
            else:
               continue

发生的情况的一个示例:

Would you like to *, -, + or /?
None/
What's your first number?
None3
What's your second number?
None4
0.75
Would you like to make another calculation, yes or no?
Noneno

Process finished with exit code 0

问题答案:

输入的功能签名为input([prompt])。括号表示提示是可选的,但基本上input是希望您提供要打印的字符串。相反,您要给它一个print()声明。打印语句的返回值为,None因此输入语句将其作为提示输出。

请注意,在except不指定错误类型的情况下使用语句也是不好的做法。如果不指定类型,则exceptwill会触发任何错误(例如,在添加功能之类的代码之前,我尝试运行您的代码时会触发它multi)。我想你要except ValueError在这里。