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

使用2个变量、运算符和Q的Python计算器(退出),python,Python,我正在尝试为一个赋值创建一个简单的python计算器。它的基本思想很简单,并且在网上都有文档记录,但我正在尝试创建一个用户实际输入操作员的地方。因此,用户将选择+进行加法,选择+进行减法,而不是打印1:加法,2:减法等。我还试图让Q或Q退出程序。 关于如何允许用户键入运算符来表示操作,有什么想法吗 注意:我知道我仍然需要定义余数操作 import math loop = 1 choice = 0 while loop == 1: print("your options are

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

如果choice==+,您应该尝试用
如果choice==“+”
替换


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

首先,您不需要将
选项
赋值为零

其次,您的代码是正确的,但是您需要在if语句中的运算符周围加引号,如下所示

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

然后,您不需要在程序顶部指定
循环
,只需在运算符周围加上引号:
如果choice='+':
在循环时执行
,并将循环设置为
,而不是
1
0
。(我意识到
True==1
False==0
)非常感谢。我的第二个编程作业。我应该记得我在引用字符串时总是需要单引号。我在开始的时候做了几乎完全一样的事情!祝你将来好运!:)使用break而不是boolean?很高兴看到后藤回来了。(^)