-6
# Mit Print kann ich das Programm den Wert einer Variablen ausgeben/anzeigen lassen

print 'Please choose a number'    
a = raw_input(int)    
print 'Please choose a different number'    
b = raw_input(int)    
print 'Please again choose a different number'    
c = raw_input(int)   
print (a**b)/c

为什么这不起作用?我总是得到错误

TypeError:不支持的操作数类型** /:'str'和'str'

我认为 exponate 的符号是 **,那么为什么这不起作用?

4

5 回答 5

2

在您的代码中abc是字符串而不是整数。

改变

a = raw_input(int)    

a = int(raw_input())

等等

于 2013-10-14T14:39:22.857 回答
2

raw_input返回Python 文档中详述的字符串。

要执行您正在尝试的操作,您必须首先将字符串转换为 int,如下所示:

a = int(raw_input())
于 2013-10-14T14:40:30.417 回答
0

为每个输入尝试此表单:

a = int(raw_input())    
于 2013-10-14T14:39:51.953 回答
0

尝试这个:

#     print 'Please choose a number'    
a = raw_input('Please choose a number' )    
#     print 'Please choose a different number'    
b = raw_input('Please choose a different number' )    
#     print 'Please again choose a different number'    
c = raw_input('Please again choose a different number')   
print (float(a)**float(b))/float (c)
于 2013-10-14T14:42:18.950 回答
0

raw_input返回一个字符串而不是整数,除了它的第一个参数是出现在用户输入之前的提示

要将字符串解析为整数,请使用

the_string = raw_input()
the_integer = int(the_string)

或者,测试字符串是否可以解析为整数

the_integer = None
while the_integer is None:
    print 'Please choose a number'
    the_string = raw_input()
    try:
        the_integer = int(the_string)
    except ValueError:
       print 'That was not a valid number'
于 2013-10-14T14:44:53.417 回答