Python练习题:判断自然数n是质数还是合数 您所在的位置:网站首页 2178135是质数还是合数 Python练习题:判断自然数n是质数还是合数

Python练习题:判断自然数n是质数还是合数

2023-11-29 03:25| 来源: 网络整理| 查看: 265

文章目录 1、编程需求2、认识质数和合数3、判断方法4、程序流程图5、程序代码及解读代码解读粉丝福利零基础Python学习资源介绍一、Python所有方向的学习路线二、Python学习软件三、Python入门学习视频四、Python练习题五、Python实战案例六、Python面试资料七、资料领取

1、编程需求

今天我们来讲解一下Python基础练习题:判断一个自然数n是质数还是合数。此教程时候新手小白,简单易懂~

例如学生输入自然数17,程序判断17为质数,程序输出“15:质数”。

2、认识质数和合数

要确定一个自然数是质数还是合数,需要先找出该自然数有多少个因数。因为该自然数是质数还是合数,与这个自然数有多少个因数有关。

按这些数因数个数的多少,可以分为三种情况: 只有1和它本身两个因数的为质数,质数也称为素数。有两个以上因数的称为合数。自然数1既不是质数,也不是合数。

3、判断方法

判断一个自然数是质数还是和数,可以先找出该自然数的所有因数。

如果该自然数只有1个因数,那么这个自然数既不是质数,也不是合数;如果该自然数有两个因数,那么这个自然数是质数;如果该自然数有2个以上的因数,那么这个自然数是合数。

4、程序流程图

(1)程序等待学生输入,并输出提示信息“请输入一个自然数n,或者输入quit退出程序”,学生输入的内容赋值给num;

(2)判断num是否是自然数,如果是自然数转步骤(4),如果不是自然数转步骤(3);

(3)判断num是否等于quit,如果是quit,退出程序,否则转步骤(1);

(4)调用factors函数获取num的因数个数;

(5)输出判断信息,转步骤(1)。

(1)函数传入的参数为自然数n;

(2)创建空list列表,用于存储自然数n的所有因数;

(3)使用for循环找出自然数n的因数,循序范围为1~n,在循环体内,如果计数变量是自然数n的因数,就添加到list;

(4)最后函数返回list的长度。

(1)子流程从主流程中传入变量count,count是自然数n因数的个数;

(2)判断count是否等于1,如果等于1,说明该自然数是1,1既不是质数,也不是合数,子流程结束;

(3)再判断count是否等于2,如果等于2,说明该自然数是质数,子流程结束;

(4)最后判断count是否大于2,如果大于2,说明该自然数是合数,子流程结束。

5、程序代码及解读

程序代码如下:

# 定义factors函数 # 功能:求出自然数n因数的个数 def factors(n): # 创建一个空的list num_list = [] for i in range(1,n+1): # 若n被i整除,i是n的因数 if n % i == 0: # i添加到list num_list.append(i) # 返回num_list元素个数 return len(num_list) # 程序入口 if __name__ == '__main__': while(True): # 提示学生输入一个自然数 num = input("请输入一个自然数,输入quit可退出程序:") # 判断num是否全部是数字 if num.isdigit(): # 调用factors函数获取num因数个数 count = factors(int(num)) # 使用多重条件判断 if count == 1: print("%s:既不是质数也不是合数" % (num)) elif count == 2: print("%s:质数" % (num)) elif count > 2: print("%s:合数" % (num)) # 判断num是否等于quit,如果是quit跳出循环 elif num == "quit": break; # 输出错误信息提示 else: print("输入错误,请输入一个自然数或者输入quit退出程序") 代码解读

factors函数用于求出自然数n因数的个数,代码内容在《找出自然数n的所有因数》一文中已经介绍过了,这里就不再介绍了。

程序的主体代码建立一个while循环,让程序一直处于运行状态。在while循环体内,提示学生输入一个自然数,并赋值给num,然后调用字符串对象isdigit方法判断num是否全部是数字字符。

如果num不全部是数字字符,再判断num是否等于quit,如果num是quit,调用break语句跳出循环,程序结束。

如果num全部是数字字符,调用factors函数获取num因数的个数,函数返回值赋值给count,然后程序使用多重条件结构来判断count的值,count的值分为下面三种情况:

(1)如果count的值为1,说明num是自然数1,自然数1既不是质数,也不是合数;

(2)如果count的值为2,说明num只有两个因数,只有两个因数的数是质数;

(3)如果count的值大于2,说明num至少有两个以上的因数,num是合数。

粉丝福利

如果你是0基础,想要学习Python的话,可以试试我整理的这份Python全套学习资料,0基础入门+进阶实战,学完就可以自己在网上帮人写写脚本,接单赚米了~

需要的可以自行扫描下方SCDN官方认证二维码免费领取

资料包括:Python永久使用安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、大厂面试题、Python练习题、Python实战案例源码等学习教程。带你从零基础到精通!

零基础Python学习资源介绍 一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。 在这里插入图片描述

二、Python学习软件

工欲善其事,必先利其器。学习Python常用的开发软件都在这里了! 在这里插入图片描述

三、Python入门学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述

四、Python练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈! 在这里插入图片描述

五、Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。这份资料也包含在内的哈~在这里插入图片描述

六、Python面试资料

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。 在这里插入图片描述 在这里插入图片描述

七、资料领取

上述完整版Python全套学习资料已经上传CSDN官方,需要的小伙伴可自行微信扫描下方CSDN官方认证二维码免费领取



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有