我正在尝试检查数字是否为质数。为此,我使用“范围”功能的“循环”。事实证明,不能使用在Python中使用'format()'属性进行遍历的变量进行打印。
我的代码的基本问题在下面的简化代码中给出。
for num in range[1,4,1]:
print("{} is a number").format(num)
我希望输出是
1 is a number
2 is a number
3 is a number
但是输出是
$python main.py
Traceback (most recent call last):
File "main.py", line 1, in <module>
for num in range[1,4,1]:
TypeError: 'builtin_function_or_method' object has no attribute '__getitem__'
答案 0 :(得分:0)
范围不能那样工作, 您需要使用括号而不是方括号:
for num in range(1,4,1) :
print("{} is a number".format(num))
答案 1 :(得分:0)
range()函数返回一个数字序列,默认情况下从0开始,递增1(默认),并以一个结尾 指定的数字。
语法:
范围(开始,停止,步进)+
您需要在此行中使用()
而非[]
:
for num in range[1,4,1]:
正确的方法是:
for num in range(1,4,1):
注意:
这等于:
for num in range(1,4):
步骤是可选的,默认情况下为1。
另一个错误,您忘了最后加上括号:
print("{} is a number".format(num))
代码:
for num in range(1,4):
print (("{} is a number").format(num))
输出:
1 is a number
2 is a number
3 is a number