如何重复我的初始输入代码?
我正在用Python做一个计算器,这是我课堂作业的一部分(基本运算,包括加法、减法、乘法和除法)。我有一个打印菜单,用户可以从中选择他们想要使用的运算,然后输入他们的整数,最后打印出答案。我的问题是,我需要重复用户选择的运算类型。因为我刚接触编程,所以任何帮助都非常感谢。
这是我的代码:
print ("1 = addition")
print ("2 = subtraction")
print ("3 = multiplication")
print ("4 = division")
print ("5 = Exit program\n")
x = int (input ("What operation would you like to perform?: ")) #prompts user for operation
if (x == 1): #if operation chose is addition then this line will exacute
int1 = input ("Enter first integer: ")
int1 = int (int1)
int2 = input ("Enter second integer: ")
int2 = int (int2)
sum = int1 + int2
print ("Sum is:", sum)
elif (x == 2): #if operation chose is subtraction then this line will exacute
int1 = input ("Enter first integer: ")
int1 = int (int1)
int2 = input ("Enter second integer: ")
int2 = int (int2)
dif = int1 - int2
print ("Difference is:", dif)
elif (x == 3): #if operation chose is multiplication then this line will exacute
int1 = input ("Enter first integer: ")
int1 = int (int1)
int2 = input ("Enter second integer: ")
int2 = int (int2)
mult = int1 * int2
print ("Multiplication is:", mult)
elif (x == 4): #if operation chose is division then this line will exacute
int1 = input ("Enter first integer: ")
int1 = int (int1)
int2 = input ("Enter second integer: ")
int2 = int (int2)
div = int1 / int2
print ("Division is: %.2f" % div)
elif (x == 5):
print ("goodbye")
quit()
3 个回答
0
你需要了解一下基本的流程控制。这里有一段相关的 Python教程。
这可以通过 for
循环或者 while
循环来实现。下面是这两种方法的例子:
for a in range(10):
print a
b=0
while b<0:
print b
b= b+1
1
使用一个 while
循环:
这个循环会一直重复,直到 x
不再等于 5 为止。
while True:
#your code
elif x == 5: # no need of () around conditions
print ("goodbye")
break # exit the while loop
0
你可以把那段代码分成一个函数:
print "1 = addition"
print "2 = subtraction"
print "3 = multiplication"
print "4 = division"
print "5 = Exit program\n"
def maths(choice):
if choice == 1: #if operation chose is addition then this line will exacute
int1 = input("Enter first integer:")
int2 = input ("Enter second integer: ")
sum = int1 + int2
print "Sum is:", sum
elif choice == 2: #if operation chose is subtraction then this line will exacute
int1 = input("Enter first integer: ")
int2 = input("Enter second integer: ")
dif = int1 - int2
print "Difference is:", dif
elif choice == 3: #if operation chose is multiplication then this line will exacute
int1 = input("Enter first integer: ")
int2 = input("Enter second integer: ")
mult = int1 * int2
print "Multiplication is:", mult
elif choice == 4: #if operation chose is division then this line will exacute
int1 = input("Enter first integer: ")
int2 = input ("Enter second integer: ")
div = int1 / int2
print "Division is: %.2f" % div
elif choice == 5:
print "goodbye"
quit()
while True: # "While True, repeat everything below":
maths(input("What operation would you like to perform?: "))
补充说明:看起来你提到的是 Python 2.7,所以我帮你整理了一下代码。
你不需要使用 int(int1) 和 int(int2),因为 input() 输入的内容本身就不是字符串。也就是说:
>>> number = input('Enter a number! ') # Let's say I put 5
>>> print number
5 # Notice it's not a string (no ' ')
而 raw_input() 则会这样处理:
>>> number = raw_input('Enter a number! ')
>>> print number
'5' # 5 is a string, not an integer. And so int() would be required