如果输入了在变量后打印的语句

时间:2015-02-23 02:58:28

标签: python if-statement calculator

我是编程/编码的新手,我在课程中使用Python。我被要求创建一个可以加,减,除和乘的计算器。我试图让程序通过输入接收数字,然后通过输入的数字询问如何处理它(例如加或减),然后给出结果。我有代码的输入阶段工作,但当我到达最后一部分我不能让它工作。这是代码

FirstNumber = "blank1"
SecondNumber = "blank2"
Device = "blank3"
FirstNumber = input("First number?")
SecondNumber = input("Second number?")
Device = input("Select a Number. Options are; 1.Plus, 2.Minus, 3.Times, 4.Divide.")
if "Device" == 1:
     print("FirstNumber"+"SecondNumber")

当它结束时它什么都不做,请帮忙。

2 个答案:

答案 0 :(得分:4)

条件"Device" == 1始终False,因为没有字符串等于整数。您可能希望将其更改为Device == 1,但这可能(可能)仍然失败,因为在python3.x上,input返回一个字符串。你可能想要这样的东西:

Device = int(input("Select a Number. Options are; 1.Plus, 2.Minus, 3.Times, 4.Divide."))
if Device == 1:
    print(FirstNumber + SecondNumber)

当然,出于同样的原因,您可能还想将FirstNumberSecondNumber转换为某种数字类型......

答案 1 :(得分:0)

ops = {
    "+": lambda a,b: a+b,
    "-": lambda a,b: a-b,
    "*": lambda a,b: a*b,
    "/": lambda a,b: a/b
}

a  = int(input("Please enter the first number: "))
op =     input("Please enter an operator: ")
b  = int(input("Please enter the second number: "))

print("{} {} {} == {}".format(a, op, b, ops[op](a,b)))