我正在尝试创建一个基本计算器,它接受第一个数字,接受操作(+, - ,*,/)和第二个数字。如果一个人为第一个数字和/或第二个数字输入一个零,我的程序应该回到它所在的数字并再次询问一个非0的数字。所以如果一个人输入数字2的0然后我的程序将把这个人带回第二。我也应该为操作做同样的概念,但如果他们没有提供可用的操作,包括之前在括号中显示的操作,则让人重新开始。下面是我到目前为止的代码。任何帮助,将不胜感激。我的班级目前正处于循环和休息之中,但我想知道这两个是否对我的代码有益。
#Programming Fundamentals Assignment Unit 5
#Create a basic calculator function
while True:
#Num1 will require user input
num1 = input ("Enter the first number\n")
#Operation will require user input
operation = raw_input("Enter the operation(+,-,*,/)\n")
#Num2 will require user input
num2 = input("Enter the second number\n")
#Now to define how the operation will be used
if operation == "+":
print num1+num2
elif operation == "-":
print num1-num2
elif operation == "*":
print num1*num2
elif operation == "/":
print num1/num2
else:
print "Please enter an operation"
#Exit will end the calculation from going into a loop
exit()
答案 0 :(得分:1)
在各种输入周围放置循环以确保正确检查。所以对于第一个数字,您可以:
num1 = 0
while num1 == 0:
num1 = input ("Enter the first number\n")
这将继续询问,直到他们输入的东西不是0。
对于第二个问题(如果他们输入无效操作则重新开始),你想立即检查操作是否有效,如果不是,那么你需要重新循环(这只是跳过当前循环的其余部分)。
所以要轻松检查它是否有效:
operation not in ["+","-","*","/"]
如果输入无效将返回false,然后第二部分(跳过其余的循环)可以通过" continue"轻松完成。关键字。
if operation not in ["+","-","*","/"]:
continue
这将带您回到循环的开头,询问新的第一个数字。
当你想停止执行时,你需要实施" break"这将打破它所属的内部循环。