python代码中的TypeError

时间:2015-02-23 23:45:27

标签: python-2.7 typeerror

最近在学习函数时,我定义了一个函数,它返回用户输入的数字的多维数据集。此外,我定义了另一个函数,检查数字是否可被3整除,然后立方体。这是代码

    def cube(number):
        return number*number*number
    def by_three(number):
       if number%3 == 0:
          return cube(number)
   else:
    return False 
   number = raw_input("Enter any number\n")
   cube(number)
   by_three(number)
   print cube(number)
   print by_three(number)

定义函数后,我调用了函数。现在,当我运行程序时,输入部分(用户输入数字的位置)工作正常,但之后我得到如下错误:

 Traceback (most recent call last):
    File "python", line 10, in <module>
    File "python", line 2, in cube
 TypeError: can't multiply sequence by non-int of type 'unicode'

请注意,没有缩进错误。因为这是我第一次问一个问题,我可能已经创建了代码块而没有正确对齐代码。它在我的原始脚本中完美缩进。 :P

1 个答案:

答案 0 :(得分:0)

raw_input()返回一个字符串。

您需要将其包装以便将结果用作整数:

int(raw_input())