简介:本课将带大家温习一下while语句,讲解上一课预留的四道习题。第15节:流控语句的循环语句练习1:求100以内所有奇数的和。奇数就是不能被2整除的数。用代码来说就是满足i%2的数!=0.所以程序如下:i=0result=0whilei<100:i+=1ifi%2!=0:print(i)result+=iprint('result=:',result)练习2:求100以内7的所有倍数和,以及数。求7的倍数和,先求7的倍数,能被7整除的7的倍数就是7的倍数,即i%7==0,然后求和.要打印数字,需要一个计数器,每找到一个7的倍数就加一。过程如下:i=0result=0count=0whilei<100:i+=1ifi%7==0:print(i)result+=icount+=1print('100以内7的倍数的总和:',result)print('100以内7的倍数的个数:',count)练习3:水仙花的个数是指一个n位数(n≥3),其每一位数字的n次方之和等于它本身(例:13+53+3**3=153)。求1000以内的所有水仙花的个数,根据题目描述,水仙花的个数是每个等于自己的数的n次方之和。那么如何得到每一位的个数,可以用余数和商的思想来想一想。一个三位数除以100,得到的商是它的百位a=n//100,取100的余数,得到的是它的十位和个位,再除以10,即得到的结果是十位b=(n%100)//10,以此类推,得到个位c=n%10。程序如下:n=100whilen<1000:a=n//100#hundredsdigitb=(n%100)//10#tendigitsc=n%10#onesdigitifa**3+b**3+c**3==n:print(n)n+=1#更新while循环的条件练习4:获取用户输入的任意一个数,判断是否为质数。质数是只能被1和它本身整除的数,1既不是质数也不是合数。如果有什么数字比较难理解,可以结合具体的数字来想一想。如果给你一个数字10,让你判断它是不是素数,你会怎么判断?首先列出1到10的所有数,然后依次除以10,如果除了1和10之外还有可以被10整除的数,那么10就不是质数。转换成代码语言就是ifn%i==0,print(n,'是质数')。具体过程如下:n=int(input('请输入一个大于1的数:'))i=2whilei
