进阶题:
1.统计101-200中素数的个数,并且输出所有的素数(素数又叫质数,就是只能被它自己和1整除的数)
for…else: 当循环里的break没有被执行的时候,就会执行else的语句,for else看作是一整个循环,break跳出的时候,for 和 else 都跳出,break不执行的时候,代码按照从上到下再执行else
1既不是质数,也不是合数,2是质数,3是质数
count = 0
for i in range(101 , 201):
for j in range(2 , int(i ** 0.5)):
if i % j == 0:
# print(i , '是合数')
break # break 放在哪个循环里,结束的就是哪个循环
else:
# for else 语句,当循环里的break没有被执行的时候,就会执行else
count += 1
print(i , '是质数')
print('质数的个数为:' , count)
# 2 -101
for i in range(2 , 101):
flag = True # 假设每次的 i 都是一个质数
for j in range(2 , int(i ** 0.5) + 1):
if i % j == 0:
# 除尽了,表示是一个合数,那flag 的值就要发生改变
flag = False
break
if flag:
print(i)
# 以i = 9为例子,j in range (2,3)是不包括3 的,也就是9只能除2,除不尽,就判断了9是质数
for i in range(2 , 101):
count = 0 # 假设这个数能被0个数字整除
for j in range(2 , i):
if i % j == 0:
# 除尽了,是合数
count += 1
if count == 0:
print(i , '是一个质数')
else:
print(i , '是一个合数,它能被' , count , '个数整除