用python统计101~200中的个数,应用系统定制开发并且输出所有的素数。
分析:应用系统定制开发这是一道典型的循环题。首先,应用系统定制开发我们应该考虑101~200中得每一个都需要判断是否为素数;其次,每一个数在判断为素数时都需要判断能不能被1和它本身以外的数整除。所以这道题,我们在编写程序的时候要用嵌套循环。
-
for循环编写程序:
方法一:
for i in range(101, 200): for j in range(2, i//2): if i % j == 0: break elif j == i // 2 - 1: print(i) else: continue
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
注意事项:
- 在编写python程序的时候需要注意range(a,b) ,这是一个前闭后开区间,取a不取b
- 当我们在判断每一个数x是否是素数的时候,我们只需要计算这个数能不能被[2,x/2]之间的数整除即可
- 当我们判断一个数x不能被整除后,就用关键字break结束此次循环(注意区分break和continue)
方法二:
for i in range(101, 200): for j in range(2, i//2+1): if i % j == 0: break else: print(i)
- 1
- 2
- 3
- 4
- 5
- 6
注意事项:
- 此方法中与else对应的if条件为空,也就是第二个for循环的内容相当于if的条件和内容
方法三:
for i in range(100, 200): s = 0 for j in range(2, i): if i % j != 0: s += 1 continue else: break if s == i - 2: print(i)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
注意事项:
- 对每一个数进行求余,如果不能够整除,则对s加一,对该数的判断结束后,进行判断:s == i-2(对除1和自身以外数进行判断)
方法四:
for i in range(101, 200): list01 = [] for j in range(2, i): list01.append(str(i % j)) if "0" not in list01: print(i)
- 1
- 2
- 3
- 4
- 5
- 6
注意事项:
- 这种方法是在方法三的基础上改进的,对每个数求余的结果存入列表中,再判断0是否在列表中即可。