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…

【NLP02-文本处理的基本方法】

文本处理的基本方法 1、文本预处理 1.1、什么是分词 就是将连续的字序列按照一定的规范重新组合成词序列的过程 1.2、分词的作用 词作为语言语义理解最小单位&#xff0c;是人类理解文本语言的基础 1.3、流行中文词jieba import jieba content "公信处女干事每月经…

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

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

机器学习资料

Matplotlib 教程 | 菜鸟教程 https://www.cnblogs.com/wang_yb/p/17666711.html numpy&#xff1a; nhttps://www.cnblogs.com/wang_yb/p/17515408.html NumPy 中文文档 (numpy123.com) pandas&#xff1a; https://www.cnblogs.com/wang_yb/p/17371731.html scikit-learn …

SQL IN 参数超过2100的解决方案

在SQL Server或者MySQL中&#xff0c;当你在IN子句中需要处理的结果集可能超过2100个元素时&#xff0c;由于SQL Server对IN子句中的参数数量存在大约2100个左右的限制&#xff0c;直接使用IN会导致错误。为了解决这个问题&#xff0c;可以采取以下策略&#xff1a; 1、将参数…

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

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

Spring--设计模式

一、简介 设计模式是软件工程领域的一组最佳实践&#xff0c;它们提供了一种通用解决方案来解决常见问题。Spring框架中融入了多种设计模式&#xff0c;以增强其灵活性、可扩展性和可重用性。 二、单例模式 Spring的单例模式指的是&#xff1a;确保一个类只有一个实例&#…

zynq7000 neon 裸机编译

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

android api 34 编译ffmpeg with libfdk-aac

利用ffmpeg-android-maker编译&#xff0c;地址Javernaut/ffmpeg-android-maker: Contains a script that assembles FFmpeg library for Android (github.com)libfdk-aac编译脚本 #!/bin/bash NDK$ANDROID_NDK_HOME # 这里需要替换成你本地的 NDK 路径 HOST_TAGlinux-x86_64…

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 电脑重启后 就生效了 很好用 完美解决 小尺寸笔记本 的按键少的烦恼 可以自己再琢磨琢磨 去映射 符合自己需求的按键 软件下载链接&…

全屏时框架的message alert 下拉框失效问题

在工作中将#app div设为全屏后&#xff0c;elementUI的message和alert和下拉框展开都不见了&#xff0c;解决方法是将设为全屏 // 全屏 function fullScreen() { let el document.documentElement; //之前是#app // console.log(el.requestFullscreen); let refs el.request…

【早鸟优惠|高录用|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;协助警方追回资金(回执…