# 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循环复制/粘贴到另一个文件并执行它, 没有错误消息,代码也能正常执行。
有谁能告诉我这是什么问题? 非常感谢你。
答案 0 :(得分:2)
input=int(input('input a number:'))
这会将内置函数input
重新分配给用户选择的数字。然后当你稍后再打电话时......
input2=int(input('input a number:'))
它仍然认为input
是一个数字(因此“TypeError:'int'对象不可调用”)。
这不是因为你没有调用一次性列表list
的原因。注意不要隐藏内置名称。