2

所以我今天做了一个非常原始而且可能效率低下的计算器(第一次使用Python),我希望能够继续做更多的问题,我该怎么做?这是我的“计算器”应用程序..

import time
print ("Welcome. This is a calculator that uses the function: A (operator) B.")
time.sleep(3.5)
print ("Available operators include: Addition, Subtraction, Multiplication, Division,        Exponent, and Remainder division.")
time.sleep(3.5)
a = float(input("Type in a value of A. "))
b = float(input("Type in a value of B. "))
operb = input("Would you like to: Add - Subtract - Multiply - Divide - Exponent - or Remainder? ")
opera = operb.lower()
if (opera) == "add":
    print ((a) + (b))
elif (opera) == "subtract":
    print ((a) - (b))
elif (opera) == "multiply":
    print ((a) * (b))
elif (opera) == "divide":
    print ((a) / (b))
elif (opera) == "exponent":
    print ((a) ** (b))
elif (opera) == "remainder":
    print ((a) % (b))
else:
    print ("Invalid operation.")
cont = input("Would you like to do another problem?")
cont = cont.lower()
if (cont) == "yes":
    ??
else:
    quit

我希望它在“键入 A 值”处重新启动。部分,但我不知道该怎么做。

4

3 回答 3

5

最好的方法可能是使用 while 循环。

while True:
    ## your code
    if cont != "yes":
        break
## quit
于 2013-11-10T04:11:35.957 回答
3

使用while循环,只要条件cont == "yes"为真,它就会继续执行块,即当条件变为假时它停止。while 循环停止后,执行它之后的代码,在本例中为print("Bye, thanks for using the calculator.").

PS周围ab中的括号print ((a) + (b))是不必要的。opera同样,和周围的括号cont也是不必要的。此外,后面的空格print使得很难看出参数是哪个函数的一部分。我建议你删除空间。否则对于初学者级别的程序员来说,代码很好。一旦您对 Python 有了更多的经验,您可能希望使用字典将运算符的名称映射到operator模块中的函数。

import time
print ("Welcome. This is a calculator that uses the function: A (operator) B.")
time.sleep(3.5)
print ("Available operators include: Addition, Subtraction, Multiplication, Division,        Exponent, and Remainder division.")
time.sleep(3.5)
cont = "yes" # So that the first time the while loop block will run
while cont == "yes":
    a = float(input("Type in a value of A. "))
    b = float(input("Type in a value of B. "))
    operb = input("Would you like to: Add - Subtract - Multiply - Divide - Exponent - or Remainder? ")
    opera = operb.lower()
    if (opera) == "add":
        print ((a) + (b))
    elif (opera) == "subtract":
        print ((a) - (b))
    elif (opera) == "multiply":
        print ((a) * (b))
    elif (opera) == "divide":
        print ((a) / (b))
    elif (opera) == "exponent":
        print ((a) ** (b))
    elif (opera) == "remainder":
        print ((a) % (b))
    else:
        print ("Invalid operation.")
    cont = input("Would you like to do another problem?")
    cont = cont.lower()

print("Bye, thanks for using the calculator.")
于 2013-11-10T04:14:53.533 回答
1

您很可能想要使用while循环,例如:

import time
print ("Welcome. This is a calculator that uses the function: A (operator) B.")
time.sleep(3.5)
print ("Available operators include: Addition, Subtraction, Multiplication, Division,        Exponent, and Remainder division.")
time.sleep(3.5)
while True:
    a = float(input("Type in a value of A. "))
    if a == 'q':  # set up a condition to end the program
        return
于 2013-11-10T04:13:56.777 回答