python循环结构

循环结构

1.1遍历循环结构for

1.1.1遍历循环for

(1)遍历循环for的语句结构:

for  循环遍历 in  遍历对象:

         语句块

程序执行:

(2)示例:

#遍历字符串
for i in 'hello':print(i)
#range()函数,python中的内置函数,产生一个(n,m)的整数序列,包含n,但不包含m
for i in range(1,11):#print(i)if i%2==0:print(i,'是偶数')#计算1-10之间的累加和
sum=0#用于存储累加和
for i in range(1,11):sum+=i#s=s+i
print(sum)print('====100到999之间的水仙花数====')
'''
水仙花数:
个位数的三次方+十位数的三次方+百位数的三次方等于这个数
153=3*3*3+5*5*5+1*1*1
'''
for i in range(100,1000):a=i//100#百位上的数字b=i//10%10#十位上的数字c=i%10#个位上的数字if i==a**3+b**3+c**3: #a*a*a+b*b*b+c*c*c=a**3+b**3+c**3(幂运算)print(i)

输出结果:

1.1.2for...else...结构

(1)for...else...结构的语句结构:

for  循环变量  in  遍历对象:

    语句块1

else:

    语句块2

else只有在循环正常结束之后才会执行;

什么是不正常的--->循环当中遇到了break,就会终止循环

(2)示例:

s=0#用于存储累加和
for i in range(1,11):s+=i
else:print('累加和为:',s)#循环正常执行完毕,执行else

输出结果:

1.2无限循环结构while 

(1)语句结构:

while 表达式:

     语句块

  • 程序执行

1.2.1while循环的四个步骤

  1. 初始化变量
  2. 条件判断
  3. 语句块
  4. 改变变量

示例:

#(1)初始化变量
answer=input('今天是否上课?-->y/n')
while answer=='y':#(2)条件判断print('好好上课哦')#(3)语句块#(4)改变变量answer=input('今天是否上课?-->y/n')#1-100之间的累加和
sum=0 #存储累加和
i=1 #(1)初始化变量
while i<=100: #(2)条件判断sum += i #(3)语句块i += 1 #(4)改变变量
print('1-100的累加和为:',sum)

结果: 

1.2.2while...else...结构

(1)语句结构

while 表达式:

    语句块1

else:

    语句块2

(2)示例:

#(1)初始化变量
i=0
while i<3:#(2)条件判断# (3)语句块user_name=input('请输入用户名:')pwd=input('请输入密码:')#登录操作if user_name=='小梁' and pwd=='123q':print('登陆成功')#需要改变变量,目的:退出循环i=5#第三行判断i<3,5<3 false 退出while循环 #(4)改变变量,用户名和密码正确的时候else:if i<2:print('用户名或者密码不正确,您还有',2-i,'次机会')i+=1#(4)改变变量 #用户户名和密码正确的时候
#单分支的判断
if i==3:#当用户名或密码三次不正确的时候,循环结束,i最大为3print('对不起三次均输错')

输出结果:

1.3嵌套

(1)概念:循环结构也可以相互嵌套,在一个循环结构中嵌套另一个完整的循环结构就称为嵌套循环。

注意:建议大家嵌套不要超过三层,因为在嵌套过程中,内层循环实际上是在给外层循环做语句块部分。

示例: 

#长方形的输出(三行四列)
for i in range(1,4): #外层循环控制行数,共三行for j in range(1,5): #内层循环控制列数,四列print('*',end='')print()#空的print语句,作用是换行print('----------直角三角形-------------')
for i in range(1,6):#行数#*的个数与行数相同,第一行range(1,2),第二行range(1,3)for j in range(1,i+1):#列数print('*',end='')print()print('-------------倒三角形-------------')
#第一行五颗星range(1,6),第二行4颗range(1,5)...第五行一颗range(1,2)
for i in range(1,6): #5行for j in range(1,7-i): #5列print('*',end='')print()#内层循环执行完毕之后,空print()换行print('-----------等腰三角形-----------')
'''
&&&&*
&&&***
&&*****
&*******
*********
'''
for i in range(1,6): #外层循环5行#打印倒三角形for j in range(1,6-i):print(' ',end='')#打印等腰三角形 第一行range(1,2) 第二行range(1,4) 第三行range(1,6)for m in range(1,i*2):print('*',end='')print()#当两个并列的for循环执行完毕之后,再换行print('-----------菱形------------')
#菱形的话 奇数行可以打印出来,偶数行不行
row=eval(input('请输入行数:'))
while row%2==0: #判断行数的奇偶性print('请重新输入行数:')row=eval(input('请输入行数:'))
#菱形的上半部分
top_row=(row+1)//2
for i in range(1,top_row+1):# 倒三角for j in range(1,top_row+1-i):print(' ',end='')for m in range(1,i*2):print('*',end='')print()'''
&&&&*
&&&***
&&*****
&*******
*********
&*******
&&*****
&&&***
&&&&*
'''
#下半部分
bottom_row=row//2
for i in range(1,bottom_row+1): #不含bottom_row+1#直角三角形for j in range(1,i+1):print(' ',end='')#倒三角for m in range(1,2*bottom_row-2*(i-1)): #下半部分一共四行时第一行 range(1,8) 第二行 range(1,6) 第三行range(1,4)print('*',end='')print()print('-----------空心菱形--------------')
#菱形的话 奇数行可以打印出来,偶数行不行
row=eval(input('请输入行数:'))
while row%2==0: #判断行数的奇偶性print('请重新输入行数:')row=eval(input('请输入行数:'))
#菱形的上半部分
top_row=(row+1)//2
for i in range(1,top_row+1):# 倒三角for j in range(1,top_row+1-i):print(' ',end='')for m in range(1,i*2):if m==1 or m==i*2-1:print('*',end='')else:print(' ',end='')print()'''
&&&&*
&&&***
&&*****
&*******
*********
&*******
&&*****
&&&***
&&&&*
'''
#下半部分
bottom_row=row//2
for i in range(1,bottom_row+1): #不含bottom_row+1#直角三角形for j in range(1,i+1):print(' ',end='')#倒三角for m in range(1,2*bottom_row-2*(i-1)): #下半部分一共四行时第一行 range(1,8) 第二行 range(1,6) 第三行range(1,4)if m==1 or m==2*bottom_row-2*(i-1)-1:print('*',end='')else:print(' ',end='')print()

输出结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/755412.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯-Sticks-DFS搜索

题目 样例输出是 6 5 题目中给错了&#xff0c;不知道什么时候会改。 思路 --剪枝&#xff0c;否则时间复杂度和空间复杂度过大&#xff0c;会超时。 --注意有多组测试样例时&#xff0c;需要将bool数组重新赋值为false。 --函数类型不是void&#xff0c;return语句不能省…

【FPGA】摄像头模块OV5640

本篇文章包含的内容 一、OV5640简介1.1 基本概述1.2 工作时序1.2.1 DVP Timing&#xff08;数据传输时序&#xff09;1.2.2 帧曝光工作模式 1.3 OV5640 闪光灯工作模式1.3.1 Xenon Flash&#xff08;氙灯闪烁&#xff09;模式1.3.2 LED 1&2 模式1.3.3 LED 3模式1.3.4 手动开…

Re62:读论文 GPT-2 Language Models are Unsupervised Multitask Learners

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文全名&#xff1a;Language Models are Unsupervised Multitask Learners 论文下载地址&#xff1a;https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learner…

接口测试开始前做什么?这10步缺一不可!

在进行接口测试之前&#xff0c;测试工程师需要进行一系列的准备工作&#xff0c;以确保测试的顺利进行。以下是接口测试开始之前的准备工作&#xff0c;并附有示例说明&#xff1a; 1. 了解项目和接口文档&#xff1a; 在开始测试之前&#xff0c;测试工程师需要仔细阅读项目…

Android 系统源码快速入门

Android源码快速入门 今天分享的内容是Android源码快速入门&#xff0c;主要分为以下几个步骤&#xff1a; * 硬件要求 * 虚拟机安装 * 开发环境搭建 * 下载编译源码 * 从一个简单的实际开发需求体验 Framework 开发硬件要求 用于 Android Framework 开发的电脑需要较强的 C…

sqlserver列出表的所有字段名

1、纵向列出所有字段 SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME tablename;2、横向列车所有字段&#xff0c;以‘&#xff0c;’分隔 SELECT STUFF((SELECT , column_nameFROM information_schema.columnsWHERE table_name tablenameFOR XM…

使用 Python 编写网络爬虫:从入门到实战

网络爬虫是一种自动化获取网页信息的程序&#xff0c;通常用于数据采集、信息监控等领域。Python 是一种广泛应用于网络爬虫开发的编程语言&#xff0c;具有丰富的库和框架来简化爬虫的编写和执行过程。本文将介绍如何使用 Python 编写网络爬虫&#xff0c;包括基本原理、常用库…

实地研究降本增效的杀伤力,LSTM算法实现全国失业率分析预测

前言 ​ 降本增效降本增笑&#xff1f;增不增效暂且不清楚&#xff0c;但是这段时间大厂的产品频繁出现服务器宕机和产品BUG确实是十分增笑。目前来看降本增效这一理念还会不断渗透到各行各业&#xff0c;不单单只是互联网这块了&#xff0c;那么对于目前就业最为严峻的一段时…

zynq7000 neon 裸机编译

最近想用zynq7000跑下neon&#xff0c;所以就开始折腾。 因为ne10不能用在裸机上&#xff0c;所以盯上了cmsis_dsp。因为这个库可以在cortex-a和cortex-m上面跑&#xff0c;而zynq7000用的是cortex-a9。应该是可以跑的。在这里特别感谢大佬的文章&#xff0c;少走不少弯路。 …

Cinema 4D 2024 for mac/Win:开启三维动画与建模新纪元

在数字化时代&#xff0c;三维动画与建模已成为影视、游戏、广告等多个领域不可或缺的创作工具。而Cinema 4D&#xff0c;作为这一领域的佼佼者&#xff0c;始终以其卓越的性能和创新的功能引领着行业的发展。如今&#xff0c;Cinema 4D 2024的发布&#xff0c;更是为我们带来了…

键盘映射工具KeyTweak的使用,把F9和F10改为 Home、End

如果你的笔记本没有Home、End键 对于写文字和写代码影响还是比较大的 下面使用键盘映射工具KeyTweak 把F9和F10分别改为 Home、End 然后点击ok 电脑重启后 就生效了 很好用 完美解决 小尺寸笔记本 的按键少的烦恼 可以自己再琢磨琢磨 去映射 符合自己需求的按键 软件下载链接&…

【早鸟优惠|高录用|EI稳定检索】2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024)诚邀投稿/参会!

【早鸟优惠|高录用|EI稳定检索】 2024年虚拟现实、图像和信号处理国际学术会议&#xff08;ICVISP 2024&#xff09;诚邀投稿/参会&#xff01; # 早鸟优惠 # 先投稿先送审 # #投稿免费参会、口头汇报及海报展示# 2024年虚拟现实、图像和信号处理国际学术会议&#xff08;I…

Golang案例开发之gopacket抓包入门(1)

文章目录 前言一、gopacket是什么&#xff1f;二、gopacket前提二、实践 枚举主机上网络设备的接口1、代码2、结果文档 总结 前言 说起网络抓包&#xff0c;我们一定听过大名鼎鼎的Tcpdump和WireShark。他们分别是Linux平台和Windows平台的抓包工具。 Wireshark抓包工具&…

杉德支付配合调查 - 数字藏品服务

最近&#xff0c;数字收藏品平台淘派发布了一则公告&#xff0c;宣布支付通道杉德已暂停接口服务&#xff0c;以配合调查。 近期发现多个异常账户&#xff0c;涉嫌盗取他人信息和银行卡&#xff0c;利用平台从事非法交易。淘派已第一时间报警&#xff0c;协助警方追回资金(回执…

idea maven 项目融合

背景 &#xff1a;项目A 和项目B 是两个独立的多模块项目&#xff0c;项目A 和项目B &#xff0c;均为独立的数据源 。其中项目B 有两个数据原。 需要将项目B 以多模块的方式融合进项目A。 解决版本。建立项目C&#xff0c;只含有pom的&#xff0c;空项目&#xff0c;项目A和项…

RPM与DNF的操作实践

这几课有三个目标&#xff1a; 第一步&#xff1a;先配置软件源 跳转到yum.repos.d目录&#xff0c;用vim创建一个openeuler_x84_64.repo文件。这个文件就是我们将会用到的软件源。 我们在里面添加这些东西&#xff0c;保存并退出即可。 然后&#xff0c;我们用yum list all就…

阿里云发布 AI 编程助手 “通义灵码”——VSCode更强了 !!

文章目录 什么是 通义灵码&#xff08;TONGYI Lingma&#xff09; 快速体验“通义灵码” 什么是“通义灵码”&#xff08;TONGYI Lingma&#xff09; 通义灵码&#xff08;TONGYI Lingma&#xff09;&#xff0c;是阿里云出品的一款基于通义大模型的智能编码辅助工具&#xff…

C语言字符函数和字符串函数以及内存函数(全是代码版):一篇文章让你秒懂基础!

JAMES别扣了-CSDN博客&#xff08;个人主页&#xff09; &#x1f495;在校大学生一枚。对IT有着极其浓厚的兴趣 ✨系列专栏目前为C语言初阶、后续会更新c语言的学习方法以及c题目分享. &#x1f60d;希望我的文章对大家有着不一样的帮助&#xff0c;欢迎大家关注我&#xff0c…

【Java常用API】正则表达式练习

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏 …

Excel新函数TEXTJOIN太强大了,这些高级用法太实用了

今天跟大家分享WPS中新函数TEXTJOIN的使用方法和技巧&#xff0c;它不仅仅是一个强大的文本连接函数&#xff0c;还有一些高级用法可以帮助我们快速解决日常难题。 TEXTJOIN函数介绍 作用&#xff1a;TEXTJOIN函数是文本连接函数&#xff0c;使用分隔符连接列表或文本字符串区…