蓝脸的道尔顿python输出指定范围素数_Python输出指定范围内的素数hizmz真⼤佬,不过代码我研究了很久,还是给⼤佬加上注释如下,并对负数进⾏改进,如果需要,还可以⾃⾏添加对其他字符串进⾏限定输⼊。
研学活动方案#输出指定范围内的素数
#⾮数字字符串会出错,⼀开始就应该避免错误的发⽣(限定范围),⽽不是报错了再来改进,
#可以继续改进⽤列表输出质数和合数
import math
lower = int(input("输⼊区间(包括)最⼩值: "))
upper = int(input("输⼊区间(包括)最⼤值: "))
sumzs=0
sumhs=0
高空飞艇
print("素数结果如下:")
print("="*10)
pri_num = 0
com_num = 0
for num in range(lower, upper + 1):
if num > 1: # 素数⼤于 1
square_num = math.floor(num ** 0.5) # 找到其平⽅根,减少算法时间
学说英语#++++++++++++++++++++++++++++++++++++++++++++++++++++++++
for i in range(2, (square_num + 1)): #(2,2)属于空集,不会出错,但也不会执⾏
if (num % i) == 0: #可以被整除说明是合数
com_num += 1
sumhs+=num
扣篮
print(num,"是合数")
break #执⾏到这⾥说明是合数,跳出⾥层for和所有el语句,执⾏完其他语句(⽐如下⾯注释掉的)后继续外⼀层for的下⼀次循环火龙果冰淇淋
el: #不能被依次整除,说明循环完了还是质数,⽤pass表⽰占位
pass #继续执⾏下⼀句el语句
#这⾥的el和上⾯的for属于⼀个级的,能执⾏下⾯的语句说明上⾯的质数筛选已经过关了,没有执⾏break。
el: #上⾯的for模块执⾏完了,说明都不能被2到平⽅根的数整除
pri_num += 1 #所以质数计数+1
兰豆sumzs+=num
print(num,"是质数")
# print(num,"是质数") #这就是break执⾏后继续执⾏的语句,同for和el级别,也就是上⾯说的其他语句
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++
el:
print(num,"既不是素数也不是合数")
print("="*10)
欧美爱情电影print(com_num,'个合数','和为',sumhs) print(pri_num,'个素数','和为',sumzs) Kindred
Kindred
268***10个⽉前 (02-23)