文章目录
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,说明该自然数是质数,子流程结束;
&