2017-03-28 42 views
0

该程序应该对给定的数字执行所描述的功能,但在给出第二个数字后出现错误。我怎样才能让一个Python 3.x程序允许用户控制程序的功能?

代码

num1=int(input("Give me a number: ")) 
num2=int(input("Give me another number: ")) 

add=int(("For addition, press [1].")) 
time.sleep(2) 
sub=int(print("For subtraction, press [2].")) 
time.sleep(2) 
div=int(("For division, press [3].")) 
time.sleep(2) 
multi=int(("For multiplication, press [4].")) 
time.sleep(2) 
print("Please input an option and press [RETURN].") 

if input == 1: 
    ans=num1+num2 
if input == 2: 
    ans=num1+num2 

如何,我可以在我的代码来提高任何想法?

+0

'添加= INT(( “对于另外,按[1]。” ))'试图将一个字符串转换为一个int,然后将其存储在一个变量中。也许你的意思是'print'而不是'int'?否则,它会给你一个关于将字符串转换为int的错误。另外,如果输入== 1没有引用你创建的任何变量,所以我不能看到它会工作。 –

+0

@RandomDavis是的,我打算打印它,并让[1] [2] [3] [4]选项激活代码的加法/减法/乘法/除法方面,但我无法使其工作。 – WhiteTail

回答

0

如果你想获得一个输入这种替换:

​​
+0

这不是解决问题的办法。 OP意在打印这些行,而不是从它们输入。 –

+0

@RandomDavis我想*都* – WhiteTail

+0

@WhiteTail你只想得到一个输入和打印4行,对吧?你所暗示的是,你想得到4个输入,每个打印的行都有一个输入。但是,你只是在最后检查一个值,这意味着你只想得到一个输入(除了前两个数字)。此外,Abijith Mg的答案似乎是一个很好的解决方案。 –

1

更简化的版本:

print "Basic calculator" 

num1=int(input("Enter number 1: ")) 
num2=int(input("Enter the other number: ")) 

choice=int(input("For addition, press [1].\n" 
    "For subtraction, press [2].\n" 
    "....\n" 
    "Please input the operation and press [RETURN].")) 
time.sleep(2) 

if choice == 1: 
    ans=num1+num2 
elif choice == 2: 
    ans=num1-num2 
    ... 

print "Answer is {}".format(ans) 
相关问题