首页 > 编程语言 >python学习_循环结构(while循环和for循环)

python学习_循环结构(while循环和for循环)

时间:2023-07-17 12:12:24浏览次数:49  
标签:语句 循环体 python range while 循环 print

一、什么叫循环结构?

反复做同一件事情的情况,就要循环

python中的循环结构主要有两种:

1)while

2)for-in

 

二、while循环

只要条件成立,其包含的某条语句或某个语句块就会一直被执行,while循环与if语句的区别就是if语句是判断一次,条件为True就执行一次执行体,while循环是判断N+1次,条件为True就执行N次循环体

语法结构

while 条件表达式:

    条件执行体(循环体)

#while循环

'''程序要求1:计算1~1000000的累和'''
i=1
sum=0   
while i<=1000000:
    sum+=i
    i+=1
print(sum)


#程序要求2:计算0~100之间偶数的累加和
sum=0
a=1
while a<=100:
    if a%2==0:
        sum+=a
    a+=1
print("0~100之间偶数的累加和为:",sum)

#程序要求3:计算0~100之间奇数的累加和
sum=0
a=1
while a<=100:
    if a%2!=0:
        sum+=a
    a+=1
print("0~100之间奇数的累加和为:",sum)

while循环的流程图:

while循环的执行流程:

  • 初始化变量
  • 条件判断
  • 循环体
  • 改变变量

三、for-in循环

in表示从(字符串、序列)中依次取值,又叫做遍历

for-in遍历的对象必须是可迭代对象

for-in语法结构

for 自定义的变量 in 可迭代对象:
    循环体

for-in流程图

 注意:当自定义变量在循环体中不用到时,可以用下划线_ 替代自定义变量

语法结构如下:

for _ in 可迭代对象:
    循环体(循环体中不用到自定义的变量)
'''程序要求1:输出100~999之间的水仙花数
什么叫水仙花数?
水仙花数是指一个 3 位数,它的每个位上的数字的3次幂之和等于它本身。例如:1**3 + 5**3+ 3**3 = 153
'''
for i in range(100,1000):
    ge=i%10    #得出个位数
    shi=i//10%10  #得出十位数
    bai=i//100   #得出百位数
    if ge**3+shi**3+bai**3==i:
        print(i)
'''程序要求2:用for循环计算1~1000000的累和'''
sum=0
for i in range(1,1000001):
    sum=sum+i
print(sum)

'''程序要求3:用for循环计算1~100之间偶数的和'''
sum=0
for i in range(1,101):
    if i%2==0:
        sum+=i
print(sum)

四、流程控制语句break

break语句用于结束循环结构,通常与分支结构if一起使用

'''程序要求:从键盘录入密码,最多录入3次,如果正确就结束循环'''
for i in range(3):
    password=input("请输入密码:")
    if password=="8888":
        print("密码正确")
        break
    else:
        print("密码错误!")
'''程序要求:从键盘录入密码,要求输入3次,如果密码正确则退出循环'''

'''初始化变量'''
n=0

'''条件判断'''
while n<3:
    '''条件执行体'''
    pwd=input("请输入密码:")
    if pwd=='8888':
        print("密码正确")
        break
    else:
        print("密码错误!")
    '''改变变量'''
    n += 1

五、流程控制语句continue

continue语句用于结束当前循环,进入下一次循环,通常也是与分支结构if一起使用

'''程序要求:输出1~50之间所有5的倍数,5、10、15、20.....
   5的倍数:与5的余数为0的数就是5的倍数
   反过来说:也可以是与5的余数不为0的数就不是5的倍数
'''

for i in range(1,51):
    if i%5==0:
        print(i)


print("----------使用continue---------")
for i in range(1,51):
    if i%5!=0:
        continue
    print(i)

break和continue流程执行图如下:

 六、else语句

与else语句配合使用的三种情况:

for i in range(3):
    pwd=input("请输入密码:")
    if pwd=='8888':
        print("密码正确")
        break
    else:
        print("密码错误")
else:
    print("密码输入错误次数过多,被锁定")
n=0
while n<3:
    pwd=input("请输入密码:")
    if pwd=='8888':
        print("密码正确")
        break
    else:
        print("密码错误")
    n+=1
else:
    print("密码错误次数过多,被锁定")

七、嵌套循环

循环结构中有嵌套了另外的完整的循环结构,这种就叫嵌套循环,其中内层循环做为外层循环的循环体执行

'''题目要求:打印一个9行的直角三角形,如下
*
**
***
****
*****
******
*******
********
*********
'''
for i in range(1,10):   #控制行
    for j in range(1,i+1):   #控制列
        print("*",end="")
    print()

print("-------------将上面例子改成一个九九乘法表---------------------")
for i in range(1,10):
    for j in range(1,i+1):
        print(i,"*",j,"=",i*j,end="\t")
    print()


#while循环打印九九乘法表
i=1 #行
while i<=9:
    j=1 #列
    while j<=i:
        print(j,'*',i,'=',j*i,end='\t')
        j+=1
    print() #换行
    i+=1

二重循环中的break和continue只用于控制一层循环(本层循环)

'''输出10以内的素数
素数:也叫质数,大于1的自然数,除了1和它本身外不能被其他数整除的自然数
'''
#流程控制语句break和continue在二重循环中的使用
for i in range(2,11): for j in range(2,i): if i%j==0: break else: print(i,'是素数')

标签:语句,循环体,python,range,while,循环,print
From: https://www.cnblogs.com/xnancy/p/17333921.html

相关文章

  • python操作mongodb基本使用
    使用pymongo,具体可以参考官方文档:语法上基本和原生mongodb是一样的,所以非常容易入手...https://pymongo.readthedocs.io/en/stable/tutorial.html日常使用importpprintimportpymongofrompymongo.collectionimportCollectionfrompymongo.databaseimportDatabasei......
  • python知识点
    anoldcat 博客园首页新随笔联系订阅管理随笔-66  文章-61  评论-7  阅读- 14万Python知识点大全(转载) 转载自:https://github.com/kenwoodjw/python_interview_question大佬总结得很好,本来我也想总结一个的,直到我看到了这个。。。额,我......
  • ffmpeg # 画中画中的视频进行循环
    ffmpeg-ibunny.mp4-vf"movie=test.mov[logo];[0:v][logo]overlay=x=100:y=100"-yout.mp4以上命令test.mov,只显示1遍,后边重复显示最后一帧。如果想让test.mov一直循环呢?添加:loop=0,setpts=N/FRAME_RATE/TB即可。ffmpeg-ibunny.mp4-vf"movie=test.mov:loop=0,se......
  • AnaConda 打包 python 程序为 exe
    1.打开AnacondaPrompt2.查看环境并激活condaenvlist##查看所有环境activateenv_name##激活对应环境3.进入程序所在对应windows目录4.打包主程序pyinstaller-Fxxxx.py##打包程序-F覆盖 ......
  • python使用ctypes调用gcc编译的dll之下载mingw
    1、打开下载mingw的下载链接https://sourceforge.net/projects/mingw-w64/files/或者使用镜像网站下载http://files.1f0.de/mingw/2、根据自己电脑系统的版本下载相应64位或32位的mingw,红框中的包下载解压之后配置环境变量就可以使用了 3、将解压的mingw的路径添加环境变......
  • awk高级应用(条件控制语句,循环语句)
    awk判断根分区磁盘使用量:::df/|grep/|awk'{if($4<15000000)print"根分区磁盘可用量低于15G了";elseprint"磁盘可用量还行"}'awk判断/boot分区磁盘使用量:::[root@localhost~]#df|grep/boot|awk'{if($4<140000)print"false";elseprint"......
  • centos上安装python3.8+完整依赖
    1.拉取基础镜像centos7dockerpullcentos:72.创建容器dockerrun-itcentos:7/bin/bash3.安装基础环境yumupdate1.查看当前python版本[root@iZwz99sau950q2nhb3pn0aZ~]#pythonPython2.7.5(default,Aug72019,00:51:29)[GCC4.8.520150623(RedHat4.......
  • 《最新出炉》系列入门篇-Python+Playwright自动化测试-8-上下文(Context)
    1.简介其实前边的文章中也提到过Context,只不过是一笔带过,但是宏哥觉得在playwright中挺重要的,所以宏哥今天单独将其拎出来讲解和分享一下,希望对您有所帮助或者参考。2.前言Playwright为每个测试创建一个浏览器上下文,即BrowserContext,浏览器上下文相当于一个全新的浏览器配置文......
  • 谁说投资很难?风变Python智能交易巧学“量化交易”
    风变Python智能交易课程一经推出,让不少对“量化交易”感兴趣的人好像发现了“新大陆”一般,更有投资者在学习完风变Python智能交易课程之后表示:智能交易没有想象中的那么难!其实这与风变Python智能交易课程的设计是有密切联系的,首先风变这套课程在内容上设计得更加浅显易懂,研......
  • 解决php中通过exec调用python脚本报ModuleNotFoundError错误
    背景出于某些原因,我们有时会在PHP中通过exec来调用Python代码,有可能是某些功能只能用Python实现(或用Python实现比较方便),有可能是出于性能考虑(Python可以执行耗时任务)。但我们有时会发现,在控制台用命令行的方式运行python脚本一切正常,在php中用exec调用就报ModuleNotFoundEr......