任何人都知道我的代码为什么不打印任何东西?

时间:2017-05-23 23:52:39

标签: python

我对整个编程很陌生,并试图用python编写计算器。

calc_version = input("Please choose a calc type (1/2)")
if calc_version == 1:
    calc_type = input("Enter Function (Add/Sub/Div/Mult) ")
    number1 = input("Please enter the first number ")
    number2 = input("Please enter the second number ")
    if calc_type == "Add":
        Sum = float(number1) + float(number2)
    if calc_type == "Sub":
        Sum = float(number1) - float(number2)
    if calc_type == "Div":
        Sum = float(number1) / float(number2)
    if calc_type == "Mult":
        Sum = float(number1) * float(number2)
    print("The sum of" ,number1, "and" ,number2, "is" ,Sum,)
if calc_version == 2:
    number1 = input("Please enter the first number ")
    operator = ("Please choose an operator (+,-,*,/)")
    number2 = input("Please enter the second number ")
    if operator == "+":
        Sum = float(number1) + float(number2)
    if operator == "-":
        Sum = float(number1) - float(number2)
    if operator == "/":
        Sum = float(number1) / float(number2)
    if operator == "*":
        Sum = float(number1) * float(number2)
    print("The sum of" ,number1, "and" ,number2, "is" ,Sum,)

它工作正常,直到我在第一个版本下添加了第二个版本,calc_version = input("Please choose a calc type (1/2)"行似乎打破了我的整个代码,因为根本没有打印。 如果有人能告诉我我做错了什么,那将是一个很大的帮助。

2 个答案:

答案 0 :(得分:3)

我能够通过将calc_version转换为int来运行代码,然后再与int进行比较。

所以 if int(calc_version) == 1: ...if int(calc_version) == 2: ...

或者,您可以将calc_version与'1''2'进行比较。

答案 1 :(得分:0)

您的 input()函数默认返回一个字符串,但您要比较两个整数(1和2)。

因为 calc_version 与1和2(不相等)进行比较,所以没有if语句为真,因此没有任何内容在运行。正如其他人所建议的那样,

calc_version = int(input("Please choose a calc type (1/2)"))

应该这样做。