【发布时间】:2018-06-24 16:38:19
【问题描述】:
我刚开始使用 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
【问题讨论】:
-
请修正第 2-4 行的缩进。这是错误的。另外,如果循环头中的run==True,下一行不能为False。
-
def multi(num1, num2): return num1 * num2 def add(num1, num2): return num1 + num2 def sub(num1, num2): return num1 - num2 def div(num1, num2 ): 返回 num1 / num2
-
print函数在您的input语句中返回None,这就是您在用户输入之前看到None的原因。删除对print()的调用,input无论如何都会打印文本。
标签: python