Python程序设计基础教程(微课版第2版)3.3 循环语句_第1页
Python程序设计基础教程(微课版第2版)3.3 循环语句_第2页
Python程序设计基础教程(微课版第2版)3.3 循环语句_第3页
Python程序设计基础教程(微课版第2版)3.3 循环语句_第4页
Python程序设计基础教程(微课版第2版)3.3 循环语句_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论