我对整个编程很陌生,并试图用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)"
行似乎打破了我的整个代码,因为根本没有打印。
如果有人能告诉我我做错了什么,那将是一个很大的帮助。
答案 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)"))
应该这样做。