我正在尝试为作业创建一个简单的python计算器。它的基本思想很简单并且在线记录,但我试图创建一个用户实际输入运算符的地方。因此,不是打印1:加法,2:减法等,用户将选择+用于加法, - 用于减法等。我也试图使Q或q退出程序。 关于如何允许用户键入运算符来表示操作的任何想法?
注意:我知道我仍然需要定义余数操作。
import math
loop = 1
choice = 0
while loop == 1:
print("your options are:")
print("+ Addition")
print("- Subtraction")
print("* Multiplication")
print("/ Division")
print("% Remainder")
print("Q Quit")
print("***************************")
choice = str(input("Choose your option: "))
if choice == +:
ad1 = float(input("Add this: "))
ad2 = float(input("to this: "))
print(ad1, "+", ad2, "=", ad1 + ad2)
elif choice == -:
su2 = float(input("Subtract this: "))
su1 = float(input("from this: "))
print(su1, "-", su2, "=", su1 - su2)
elif choice == *:
mu1 = float(input("Multiply this: "))
mu2 = float(input("with this: "))
print(mu1, "*", mu2, "=", mu1 * mu2)
elif choice == /:
di1 = float(input("Divide this: "))
di2 = float(input("by this: "))
print(di1, "/", di2, "=", di1 / di2)
elif choice == Q:
loop = 0
print("Thank-you for using calculator")
答案 0 :(得分:2)
首先,您不需要将choice
指定为零
第二,你有正确的代码,但是如果这样的陈述你需要在运算符周围进行qoutes
if choice == '+':
表示您正在检查字符串
让你的循环像这样:
while 1: #or while True:
#do stuff
elif choice == 'Q': #qoutes around Q
break #use the `break` keyword to end the while loop
然后您不需要在程序顶部指定loop
答案 1 :(得分:0)
您应该尝试将if choice == +
替换为if choice == "+"
。
您从输入中获得的实际上是一个字符串,这意味着它可以包含任何字符,甚至是代表运算符的字符。