使用for循环定义的变量打印数字(ERROR)(Python)

时间:2019-06-18 07:27:26

标签: python-3.x

我正在尝试检查数字是否为质数。为此,我使用“范围”功能的“循环”。事实证明,不能使用在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__'

2 个答案:

答案 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