概述
今天撸一个判断质数的代码:输入正整数n,输出n以内(包括n)的质数。
思路
1、首先是编写质数判断函数。质数(大于等于2)是指只有1和它本身两个约数的正整数,使用for循环依次用1-s等数除s取余,若只有2个余数为0,则该数为质数,此时函数返回True;
2、编写主函数。提示用户输入正整数n,使用for循环分别使用1-n作为参数调用质数判断函数,根据返回值确定是否质数,是则打印该数。
代码解析
1、质数判断函数
def isPrime(s): # s为大于1的整数
count = 0
for i in range(1,s+1):
if s%i == 0:
count += 1
if count == 2:
return True
else:
return False
2、主函数
def main():
while True:
try:
s = int(input('请输入一个大于1的整数:'))
print('*'*30+'\n{}以内质数如下:'.format(s))
for i in range(2,s+1):
result = isPrime(i)
if result:
print(i,end=' ')
print('')
print('*'*30)
con = input('是否继续获取数据(输入Y或y继续,其他则退出程序):')
if con.lower() != 'y':
print('程序结束。')
break
except:
print('输入格式错误,请重新输入。')
完整代码、效果展示
def isPrime(s): # s为大于1的整数
count = 0
for i in range(1,s+1):
if s%i == 0:
count += 1
if count == 2: # count==2即只有1和本身2个约数
return True
else:
return False
def main():
while True:
try:
s = int(input('请输入一个大于1的整数:'))
print('*'*30+'\n{}以内质数如下:'.format(s))
for i in range(2,s+1):
result = isPrime(i)
if result:
print(i,end=' ')
print('')
print('*'*30)
con = input('是否继续获取数据(输入Y或y继续,其他则退出程序):')
if con.lower() != 'y':
print('程序结束。')
break
except:
print('输入格式错误,请重新输入。')
if __name__ == '__main__':
main()

到这里就搞定啦~是不是灰常好看、简单,那就点个赞叭!(如果有人看到的话。。。)
版权声明:本文为weixin_46001399原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。