2016-10-05 54 views
-1

我在制作计算器时遇到了一些麻烦。如果你把它们作为操作符,那么它需要将它添加,乘,除和相减,然后它将跟随它是哪一个。我的代码如下所示:如何在Python中解决“ValueError:无效文字为int()与基10”?

a= int(input("First Number: ")) 

    int(input("First Operator: ")) 

    b= int(input("Second Number: ")) 

    if (operator == "+"): 
     c=a+b 
    elif(operator == "-"): 
     c=a-b 
    elif(operator == "*"): 
     c=a*b 
    elif(operator == "-"): 
     c=a/b 



    print(c) 

我每次输入一个+,-,*,or/作为运营它给我这个:

operator=int(input("Operator: ")) 
    ValueError: invalid literal for int() with base 10: '/' 

我知道这意味着我需要一个整数,但如何解决它?

+0

不要转换为int! 'operator = input(“Operator:”)' – zvone

回答

0

你正在试图把一个char变量,在这种情况下,运算符,在一个int。由于编译器无法在int中转换运算符,它将返回此错误。如果您只声明一个名为operator的变量,它将起作用,您的代码将如下所示:

a= float(input("First Number: ")) 

operator =input("First Operator: ") 

b= float(input("Second Number: ")) 

if (operator == "+"): 
    c=a+b 

elif(operator == "-"): 
    c=a-b 

elif(operator == "*"): 
    c=a*b 

elif(operator == "-"): 
    c=a/b 
0

该运算符被转换为int。这不应该是这样的:

int(input("First Operator: "))

尝试没有整型(...)。

+0

非常感谢您的帮助,现在它工作的很好。 –

+1

很高兴帮助。你能把这个标记为已解决吗?谢谢。 –

相关问题