TypeError:'int'对象不可调用显示但在其他文件中没有显示

时间:2016-01-20 16:24:40

标签: python python-3.x

# for loop
input = int(input('input a number:'))
num1 = 0
num2 = 0

for x in range(1, input + 1):
    num1 = 0 + x
    for y in range(1, input + 1):
        num2 = 0 + y
        print(num1, '*', num2, '=', num1 * num2)

# while loop
input2 = int(input('input a number:'))
num3 = 1
num4 = 1

while num3 <= input2:
    while num4 <= input2:
        print(num3, '*', num4, '=', num3 * num4)
        num4 = num4 + 1
    num3 = num3 + 1
    num4 = 1

执行后,for循环运行良好,但while循环显示错误消息:

input2=int(input('input a number:'))
TypeError: 'int' object is not callable

但是,如果我将while循环复制/粘贴到另一个文件并执行它, 没有错误消息,代码也能正常执行。

有谁能告诉我这是什么问题? 非常感谢你。

1 个答案:

答案 0 :(得分:2)

input=int(input('input a number:'))

这会将内置函数input重新分配给用户选择的数字。然后当你稍后再打电话时......

input2=int(input('input a number:'))

它仍然认为input是一个数字(因此“TypeError:'int'对象不可调用”)。

这不是因为你没有调用一次性列表list的原因。注意不要隐藏内置名称。