Python计算器使用2个变量,运算符和Q(退出)

时间:2013-09-24 00:38:41

标签: python

我正在尝试为作业创建一个简单的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")

2 个答案:

答案 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 == "+"

您从输入中获得的实际上是一个字符串,这意味着它可以包含任何字符,甚至是代表运算符的字符。