版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
while循环语句和for循环语句循环语句CHAPTER301while循环语句02for循环语句03循环嵌套CONTENTS目
录循环语句
0102while
循环语句for
循环语句
循环语句
就是重复执行某段程序代码,直到满足特定条件为止循环语句表
达
式控制循环的语句while表达式:语句块while
循环语句循环语句“
循
环
体”循环语句01
#int_sum.py02
n=103
sum=004
while(n<=99):05
sum+=n06
n+=107print("1~99的整数和是:",sum)【例3-7】用while循环实现计算1~99的整数和
程序注释
赋值语句
0赋值sum
条件判断
n加到sum
对n加1
打印输出
循环语句设计一个小游戏,让玩家输入一个数字,程序判断是奇数还是偶数循环语句01
#digit.py02
prompt='输入一个数字,我将告诉你,它是奇数,还是偶数'03
prompt+='\n输入“结束游戏”,将退出本程序:'04
exit='结束游戏'#退出指令05
content=''#输入内容06
whilecontent!=exit:07
content=input(prompt)08
ifcontent.isdigit():#isdigit()函数用于检测字符串是否只由数字组成09
number=int(content)10
if(number%2==0):11
print('该数是偶数')12
else:13
print('该数是奇数')14
elifcontent!=exit:15
print('输入的必须是数字')【例3-7】用while循环实现计算1~99的整数和
程序注释
赋值字符串拼接字符串赋值字符串
条件判断
if分支语句
赋值语句
条件判断
打印输出
else分支
打印输出
条件判断
打印输出
循环语句“死
循
环”“无限循环”正常结束循环语句01
i=002
whilei<100:03
print(i)【例】i<100,运行后程序不停输出0循环语句
for
循环语句for循环语句for迭代变量in对象:
语句块迭代变量用于保存读取出的值
对
象遍历或迭代的对象循环语句字
符
串列
表元
组
序列对象循环语句语句块“循环体”语句块语句块循环语句01
#int_sum_for.py02
sum=003
forninrange(1,100):#range(1,100)用于生成1到100(不包括100)的整数04
sum+=n05print("1到99的整数和是:",sum)【例3-9】用for循环实现计算1~99的整数和
程序注释
0赋值sum
range()
n加到sum
打印输出
循环语句range(stop)range(start,stop)range(start,stop,step)生成从0开始到stop结束(不包含stop)的一系列数值。比如,range(3)生成的数值是0、1、2生成从start开始到stop结束(不含stop)一系列数值。如,range(2,5)生成的数值是2、3、4生成从start开始到stop结束(不含stop)、步长为step的一系列数值。如,range(2,10,2)生成的数值是2、4、6、8,range(10,1,-2)生成的数值是10、8、6、4、2循环语句01
#int_sum_for.py02
sum=003
forninrange(1,100):#range(1,100)用于生成1到100(不包括100)的整数04
sum+=n05print("1到99的整数和是:",sum)【例3-9】用for循环实现计算1~99的整数和
程序注释
0赋值sum
range()
n加到sum
打印输出
循环语句sum+=n相当于sum=sum+n123sum=0+1sum=1+2sum=3+3循环语句01
#int_sum_for.py02
sum=003
forninrange(1,100):#range(1,100)用于生成1到100(不包括100)的整数04
sum+=n05print("1到99的整数和是:",sum)【例3-9】用for循环实现计算1~99的整数和
程序注释
0赋值sum
range()
n加到sum
打印输出
循环语句输出所有的“水仙花数”一个3位数各位数字立方和等于该数本身153是水仙花,153=13+53+33循环语句01
#narcissus.py02
foriinrange(100,1000):03
a=i%10#个位数04
b=i//10%10#十位数05
c=i//100#百位数06
if(i==a**3+b**3+c**3):07
print(i)【例3-10】
输出所有的“水仙花数”
程序注释
range()
求解余数
对10取余
得百位数
条件判断
打印输出
循环语句数值
m
m能被2到
整除素
数不是素数是否循环语句01
#prime.py02
#由于程序中要用到求平方根的函数sqrt(),因此需要导入math模块03
importmath04
m=int(input("请输入一个数m:"))05
n=int(math.sqrt(m))#math.sqrt(m)返回m的平方根06
prime=107
foriinrange(2,n+1):08
ifm%i==0:09
prime=010
if(prime==1):11
print(m,"是素数")12
else:13
print(m,"不是素数")【例3-11】判断一个数是否是素数
程序注释
程序注释
导入math
转换整数
返回平方根赋值prime
range对象
条件判断
prime设0
条件判断
打印输出
else分支
打印输出
循环语句
循环嵌套for
语句0102while
语句循环语句在while循环中嵌套whilefor循环中嵌套for在while循环中嵌套forwhile表达式1:
while表达式2:
语句块2语句块1for迭代变量1in对象1:
for迭代变量2in对象2:
语句块2
语句块1while表达式:
for迭代变量in对象:
语句块2
语句块1在for循环中嵌套whilefor迭代变量in对象:
while表达式:
语句块2
语句块1循环语句成绩1成绩2成绩3成绩1成绩2成绩3计算平均成绩循环语句01
#avg_score_while.py02
j=1#定义外部循环计数器初始值03
whilej<=2:#定义外部循环为执行两次04
sum=0#定义成绩初始值05
i=1#定义内部循环计数器初始值06
name=input('请输入学生姓名:')#接收用户输入的学生姓名,赋值给name变量07
whilei<=3:#定义内部函数循环3次,就是接收3门课程的成绩08
print('请输入第%d门的考试成绩:'%i)#提示用户输入成绩09
sum=sum+int(input())#接收用户输入的成绩,赋值给sum10
i+=1#i变量自增1,i变为2,继续执行循环,直到i等于4时,跳出循环11
avg=sum/(i-1)#计算学生的平均成绩,赋值给avg12
print(name,'的平均成绩是%d\n'%avg)#输出学生成绩平均值13
j=j+1#内部循环执行完毕后,外部循环计数器j自增1,变为2,再进行外部循环14
print('学生成绩输入完成!')【例3-12】分别输入两个学生的3门成绩,并分别计算平均成绩
程序注释
1赋值给j
条件判断
0赋值sum
1赋值给i
赋值name
内层循环
提示输入
接收输入
执行循环
赋值给avg
打印输出
j
自增
1
打印输出
循环语句01
#narcissus_for.py02
forainrange(10):#个位数的范围是0~903
forbinrange(10):#十位数的范围是0~904
forcinrange(1,10):#百位数的范围是1~905
if(a+10*b+100*c==a**3+b**3+c**3):06
print(a+10*b+100*c)【例3-13】
用for循环的嵌套完成例【3-10】
程序注释
for循环
第2层
for
第3层
for
执行900次
打印输出
循环语句九九乘法表打印效果循环语句01
#multiplication_table.py02
foriinrange(1,10):03
forjinrange(1,i+1):04
print('{}x{}={}\t'.format(j,i,i*j),end='')05
print()【例3-14】打印九九乘法表
程序注释
第1层for
第2层
for
打印输出
产生分行循环语句01
#triangle.py02
rows=int(input('输入行数(奇数):'))03
ifrows%2!=0:04
foriinrange(0,rows//2+1):#控制打印行数05
forjinrange(rows-i,0,-1):#控制空格个数06
print("",end='')#打印空格,不换行07
forkinrange(0,2*i+1):#控制星号个数08
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生产现场安全管理规范手册
- 现代农业物联网技术与应用发展研究手册
- 网络教育成果承诺书3篇范文
- 创新驱动质量提升责任书9篇
- 人工智能技术应用与创新实践手册
- 大型活动安全检查与人员疏散演练指南
- 2026山东泰安教师招聘统考肥城市30人考试备考试题及答案解析
- 消费者服务体验持续完善承诺书7篇范文
- 2026湖南娄底市新化县事业单位引进高层次和急需紧缺人才30人考试参考试题及答案解析
- 2026国家最高人民法院直属单位招聘20人笔试参考试题及答案解析
- 铁道概论高职PPT完整全套教学课件
- 七十岁换证三力测试题库
- 医生进修申请表(经典版)
- Unit 4 A glimpse of the future Starting out Listening-高中英语外研版(2019)选择性必修第三册
- 医院麻醉精神药品的管理与使用
- 园林苗圃学复习2014概要
- GB/T 3390.1-2013手动套筒扳手套筒
- 2022年德清县文化旅游发展集团有限公司招聘笔试试题及答案解析
- 液压与气压传动全版课件
- 小学数学人教三年级上册倍的认识教学设计倍的认识
- 泌尿生殖系统的解剖与生理资料课件
评论
0/150
提交评论