基本计算器程序无法在Python空闲时工作

时间:2014-11-06 06:51:37

标签: python

loop = 1

choice = 0 #holds the user choice for menu

while (loop == 1):
    print ("Welcome to calci.py")
    print ("your options are:")
    print (" ")
    print ("1. Addition")
    print ("2. Subtraction")
    print ("3. Multiplication")
    print ("4. Division")
    print ("5. Quit calculator.py")
    print (" ")

    choice = input("Choose your option: ")
    if (choice == 1):
        add1 = input("Add this: ")
        add2 = input("to this: ")
        print (add1, "+", add2, "=", add1 + add2)
    elif (choice == 2):
        sub2 = input("Subtract this: ")
        sub1 = input("from this: ")
        print (sub1, "-", sub2, "=", sub1 - sub2)
    elif (choice == 3):
        mul1 = input("Multiply this: ")
        mul2 = input("with this: ")
        print (mul1, "*", mul2, "=", mul1 * mul2)
    elif (choice == 4):
        div1 = input("Divide this: ")
        div2 = input("by this: ")
        print (div1, "/", div2, "=", div1 / div2)
    elif (choice == 5):
        loop = 0

print ("Thankyou for using calci.py!")

我是python世界的新手,我已编写并编译了计算器代码,但它无法正常工作,需要帮​​助!!

2 个答案:

答案 0 :(得分:1)

您的代码:

choice = input("Choose your option: ")
if (choice == 1):

这里输入将返回字符串输出。所以在你的if条件中你需要这样做:

choice = input("Choose your option: ")
if (choice == '1'):

然后它会起作用。但请记住,它将在上面的示例中连接两个字符串。因此,您可能需要将该字符串转换为整数,然后执行算术。

所以你可以使用像

intchoice = int(choice)
if (intchoice  == 1):

同样你需要关注你的add1 / add2和其他输入参数。

答案 1 :(得分:0)

我试图在终端中运行你的代码,它无限循环给定。 您最初将选项设置为零,但您的代码不处理零,因此它不知道该怎么做,所以它只是循环。 尝试添加一个else块和elif语句的结尾来捕获elif不会解释的任何内容。 EX:

else:
   print("Error")
   loop=0

我看到你使用while循环尝试让程序持续运行,直到用户退出。 尝试使用input()或raw_input()来获取操作的用户选择。除了那个伟大的工作之外!