Python 变量是什么;我";在for循环中

Python 变量是什么;我";在for循环中,python,for-loop,Python,For Loop,在阅读一本书中的练习题时,我遇到了一个素数代码。我在理解代码中的I时遇到问题 def prime_number(num): for num in range(num): # all prime numbers are greater than 1 if num > 1: for i in range(2, num): if (num % i) == 0: break else:

在阅读一本书中的练习题时,我遇到了一个素数代码。我在理解代码中的
I
时遇到问题

def prime_number(num):
  for num in range(num):
   # all prime numbers are greater than 1
   if num > 1:
       for i in range(2, num):
           if (num % i) == 0:
               break
       else:
           print(num)
  return

您能详细解释一下
i
在这段代码中做了什么吗?

i
是一个变量,与
num
完全相同

在Python中为使用
时,您会编写:

对于某些参数中的某些参数:
#代码在这里
这将在iterable上循环,每次为变量指定下一个值

调用
范围(x,y,z)
创建一个iterable,该iterable在
x
开始,在
y
结束,每次在
z
步数处结束。所以如果你写:

范围(5,25,5)内x的
:
打印(x,结束=“”)
您将得到输出:
510520

函数中的循环针对从2到
num-1的每个值进行循环,每次递增1,并将
i
设置为等于该值


我强烈建议您尝试使用这些函数,并打印出变量。我发现这是一个很好的学习方式。希望这是有帮助的

它假定iterable对象的元素值

范围内的i与范围内的num做相同的事情。。。只有一个不同的名字–OneCricketeer

“i”是一个临时变量,用于存储for循环范围内当前位置的整数值,该范围仅在其for循环内具有作用域。您可以使用任何其他变量名来代替“i”,如“num”或“x”或“j”

函数中的循环对从2到num的每个值进行循环,每次递增1,并将i设置为该值

您可以这样改进代码:

def prime_number(number):
  for num in range(number):
   # all prime numbers are greater than 1
   if num > 1:
       for i in range(2, num):
           if (num % i) == 0:
               break
       else:
           print(num)
  return

i在范围内
执行与
num在范围内
相同的操作。。。另外,只有一个不同的名称,
num in range(num)
正在重写参数,您不应该这样做,
i
是变量的名称。。。它可以是
numberVariable
abc123
或任何你能想到的变量名
i
只是一个循环计数器变量,它从2,3,4。。。最多
num-1
@OneCricketeer解决此问题的更好方法是什么