我刚刚开始使用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
发布于 2018-06-25 00:57:42
输入的函数签名为input([prompt])
。括号表示提示符是可选的,但基本上input
希望您提供一个字符串以打印出来。相反,您将为其提供一条print()
语句。打印语句的返回值是None
,因此它将作为input语句的提示符输出。
请注意,使用except
语句而不指定错误类型也是不好的做法。在没有指定类型的情况下,except
将在出现任何错误时触发(例如,当我尝试在添加multi
等函数之前运行您的代码时触发)。我觉得你想让except ValueError
留在这里。
发布于 2018-06-25 00:43:28
从input
调用中删除print
语句:
input(print("What's your first number?"))
-> input("What's your first number?\n")
或input("Your first number: ")
该None
是print
函数的返回值,由input
函数显示。
发布于 2018-06-25 00:44:06
尝试删除输入中的print语句。
而不是input(print("Would you like to continue, yes or no?"))
,请尝试
input("Would you like to continue, yes or no?")
这就是我要做的
https://stackoverflow.com/questions/51011912
复制相似问题