Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python for i的范围(2,2):打印(i)i变量包含什么,它不';不包含值2?_Python_Python 3.x - Fatal编程技术网

Python for i的范围(2,2):打印(i)i变量包含什么,它不';不包含值2?

Python for i的范围(2,2):打印(i)i变量包含什么,它不';不包含值2?,python,python-3.x,Python,Python 3.x,我试图一步一步地理解这个程序是如何工作的 for n in range(2, 10): for x in range(2, n): if n % x == 0: print(n, 'equals', x, '*', n//x) break else: # loop fell through without finding a factor print(n, 'is a prime nu

我试图一步一步地理解这个程序是如何工作的

for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            print(n, 'equals', x, '*', n//x)
            break
    else:
        # loop fell through without finding a factor
        print(n, 'is a prime number')

for i in range(2,2):
    print(i)
此代码不打印任何内容,因此我包含的实际值是什么,它是否包含垃圾值。

范围(2,2)
是一个空序列。范围是半开的,因此
范围(2,2)
表示“范围(2,2)中的i的所有整数
>=2
,但
结果为空列表[]

代码如下:

对于范围(2,11)内的n: 对于范围(2,n)内的x: 如果n%x==0: 打印(n,“素数”) 打破 其他: 打印(n,“非素数”)

结果是: 2不是素数 3不是质数 4素数 5不是质数 6素数 7不是质数 8素数 9素数
10素数1)缩进已关闭。请修复它;2)尝试打印(列表(范围(2,2))
。这可能会说明您的问题。此外,您应该在
for
循环的正下方添加
print
语句。这也会帮助您解决这个问题。这段代码似乎来自教程的一节,旨在说明“break”和“else”如何在for循环中运行。对于新手来说,空列表确实是一个问题在这种情况下几乎不会分散注意力,可以更明确地表达。没有任何代码在任何地方构建列表,那么它是如何导致空列表的呢?另外,将OP的代码更改为打印素数的
而不是素数
,以及复合数的
素数
,有什么意义?
>>> len(range(2, 2))
0
>>> list(range(2, 2))
[]
>>> it = iter(range(2, 2))
>>> next(it)
StopIteration:
>>> i = 'this is a string'
>>> for i in range(2, 2): pass
>>> print(i)
this is a string
>>> del i
>>> for i in range(2, 2): pass
>>> print(i)
NameError: name 'i' is not defined