这两个程序有什么区别
what is the difference between these two programmes
b=input("Enter number : ")
for n in range(2, b+1):
for x in range(2, n):
if n % x == 0:
break
else:
print n
这个程序打印最多 n 个质数
输出是
输入号码:10
2
3
5
7
和
b=input("Enter number : ")
for n in range(2, b+1):
for x in range(2, n):
if n % x == 0:
break
else:
print n
输出是
输入号码:10
3
5
5
5
7
7
7
7
7
9
它们是相同的
XXXX:tmp anthony$ cat > one.txt
b=input("Enter number : ")
for n in range(2, b+1):
for x in range(2, n):
if n % x == 0:
break
else:
print n
XXXX:tmp anthony$ cat > two.txt
b=input("Enter number : ")
for n in range(2, b+1):
for x in range(2, n):
if n % x == 0:
break
else:
print n
XXXX:tmp anthony$ diff one.txt two.txt
XXXX:tmp anthony$
b=input("Enter number : ")
for n in range(2, b+1):
for x in range(2, n):
if n % x == 0:
break
else:
print n
如果 n % x
没有余数,只有第一个正确的值,则打印出 n
。
b=input("Enter number : ")
for n in range(2, b+1):
for x in range(2, n):
if n % x == 0:
break
else:
print n
打印出每个具有非零余数的 n
直到出现第一个零余数。
更多关于 for else
工作原理的信息:
for else
将 运行 for 循环,然后 运行 在 for 循环完成后立即执行 else。在您的情况下,for 循环在某个点结束,然后在结束处打印结果值。
for x in range(10):
print x
else:
print "hello world"
以此为例。它打印出来:
0
1
2
3
4
5
6
7
8
9
hello world
为什么这有用?那么你的程序给出了一个很好的例子来说明为什么会这样。我们想在某个条件通过时退出 for 循环,然后在找到该条件后执行某些操作(如果我们找到了通过条件,否则我们只是 运行 无论如何)。因此,如果在 for 循环中满足条件 运行 this,或者 运行 this 总是在 for 循环的末尾。
回到你的问题,基本上第一个求给定数的因数,第二个求给定数的非因数
b=input("Enter number : ")
for n in range(2, b+1):
for x in range(2, n):
if n % x == 0:
break
else:
print n
这个程序打印最多 n 个质数 输出是
输入号码:10
2
3
5
7
和
b=input("Enter number : ")
for n in range(2, b+1):
for x in range(2, n):
if n % x == 0:
break
else:
print n
输出是
输入号码:10
3
5
5
5
7
7
7
7
7
9
它们是相同的
XXXX:tmp anthony$ cat > one.txt
b=input("Enter number : ")
for n in range(2, b+1):
for x in range(2, n):
if n % x == 0:
break
else:
print n
XXXX:tmp anthony$ cat > two.txt
b=input("Enter number : ")
for n in range(2, b+1):
for x in range(2, n):
if n % x == 0:
break
else:
print n
XXXX:tmp anthony$ diff one.txt two.txt
XXXX:tmp anthony$
b=input("Enter number : ")
for n in range(2, b+1):
for x in range(2, n):
if n % x == 0:
break
else:
print n
如果 n % x
没有余数,只有第一个正确的值,则打印出 n
。
b=input("Enter number : ")
for n in range(2, b+1):
for x in range(2, n):
if n % x == 0:
break
else:
print n
打印出每个具有非零余数的 n
直到出现第一个零余数。
更多关于 for else
工作原理的信息:
for else
将 运行 for 循环,然后 运行 在 for 循环完成后立即执行 else。在您的情况下,for 循环在某个点结束,然后在结束处打印结果值。
for x in range(10):
print x
else:
print "hello world"
以此为例。它打印出来:
0
1
2
3
4
5
6
7
8
9
hello world
为什么这有用?那么你的程序给出了一个很好的例子来说明为什么会这样。我们想在某个条件通过时退出 for 循环,然后在找到该条件后执行某些操作(如果我们找到了通过条件,否则我们只是 运行 无论如何)。因此,如果在 for 循环中满足条件 运行 this,或者 运行 this 总是在 for 循环的末尾。
回到你的问题,基本上第一个求给定数的因数,第二个求给定数的非因数