Python循环语句怎么用(python中循环怎么写)
off999 2024-10-04 00:40 30 浏览 0 评论
循环是另一种控制流程的方式,一个循环体中的代码在程序中只需要编写一次,但可能会连续运行多次。在 python 中主要包含两种循环结构:
- while 循环,表示满足某种条件是,重复运行一段固定代码。
- for 循环,表示遍历某组数据,每次取出一个,重复运行一段固定代码。
while 循环
while 循环的语法和 if 条件非常类似:
while expression:
statement1
当 expression 条件满足时,执行 statement1 语句, 语句执行完后,会返回第一行继续判断条件是否满足。如果该条件一直保持满足状态,循环语句无法退出,就会出现死循环的状态。
while True:
print("hello, you")
为了让程序运行到一定阶段退出循环体,需要改变条件,当条件改变到不满足的状态时,就可以退出循环结构了:
times = 0
while times < 1000:
print(f"hello you {times}")
times += 1
for 循环
for 循环是一种更加常用的循环结构,主要作用遍历一组数据达到循环执行的效果。这组数据通常是字符串,列表,元素,字典等可迭代的数据。
my_string = 'hello you'
for letter in my_string:
print(letter)
letter 是一个临时变量,表示每一轮循环从 my_string 中取出来的元素,第一轮循环是 h, 第二轮循环是 e 。临时变量在退出循环结构之后会失效。
for letter in my_string:
print(letter) # YES
print(letter) # NO
遍历列表
dalaos = ['小芳', '温暖如初', '小蚊子']
for dalao in dalaos:
print(dalao)
遍历字符串、列表、元组等数据时,可以使用 enumerate 函数同时获取索引和值,经常可以用到。
dalaos = ['小芳', '温暖如初', '小蚊子']
for index, item in enumerate(dalaos):
print(item)
遍历字典
遍历字典默认是获取 key
user = {"name": "小芳", "age": "17"}
for item in user:
print(item)
同时获取 key 和 value 是更常用的做法:
for key, item in user.items():
print(key, item)
range
range 的作用是生成一个类似于列表的数据,range(6) 生成类似于 [0,1,2,3,4,5] 的数据。当你需要对某段代码循环运行指定次数,但是又没有现成的数据可以遍历时,可以用 range
for item in range(10000):
print(item)
range() 的参数类似于切片的写法,当只有一个参数时,表示结束索引号,当有两个参数时,表示开始和结束的索引号,当有3个参数时,增加步长。
# start, end
for item in range(3,8):
print(item)
# start, end, step
for item in range(3,8,2):
print(item)
循环的嵌套
之前我们了解到, for 循环作用是对一组数据中的不同元素执行相同的操作(代码),如果想对不同的元素进行差异化操作,可以使用 for 循环嵌套 if 的组合。
dalaos = ['小芳', '温暖如初', '小蚊子']
for dalao in dalaos:
if dalao == '小芳':
print("村里有个姑娘,叫小芳。")
else:
print("没有你要找的人")
对元素分组:
users = [
{"name": 'yyz', "age": 18},
{"name": '小芳', "age":16},
{"name": 'v', "age": 19},
{"name": 'w', "age": 20},
]
adult = []
kids = []
for user in users:
# user = {"name": 'yyz', "age": 18}
if user['age'] >= 18:
adult.append(user)
else:
kids.append(user)
print(adult)
print(kids)
break
在 while 和 for 的循环体中,都可以使用 break 关键字终止整个循环体的运行。尤其是在和 if 的搭配使用中,当满足某个条件时,就终止整个循环结构。
while True:
username = input("输入用户名")
paword = input("输入密码")
if username == 'admin' and paword == '123456':
print('login')
break
continue
continue 则可以跳过本轮循环,进入下一轮循环。他也常常和 if 搭配使用:
songs = ['传奇','', '礼物', '故乡', '']
for song in songs:
if not song:
print("下一曲")
continue
print(f"正在播放:{song}")
循环的自动化测试实际使用
自动化测试场景:表示多个测试数据
1、写一个程序,存储一个测试数据
username = input("请输入用户名:")
pass = input("请输入密码:")
age = input("请输入年龄:")
user = dict()
user.update(username=username,
pass=pass,
age=age)
2、写一个程序,可以存储多个测试数据
users = list()
users.append(user)
print(users)
3、添加多个用例,运行多个用例
users = list()
while len(users) < 3:
username = input("请输入用户名:")
pass = input("请输入密码:")
age = input("请输入年龄:")
user = dict()
user.update(username=username,
passd=pass,
age=age)
users.append(user)
print(users)
for case in users:
print(f"运行用例-用户名{case['username']}")
刚接触循环,可能很难分析出代码接下来会执行哪一行,此时可以在循环体内设置一个断点,通过 debug 模式运行程序,从而理解代码的执行过程。
练习题
练习题1:生成 0-100 的奇数怎么写?
练习题2:求出 0-100 的数的和?
练习题3:求出 0-100 的数的奇数和与偶数和
练习题4:生成一个 * 组成的直角三角形
练习题5:把 c 变成一个扁平的列表
while True:
try:
n=int(input())
nums=[int(i) for i in input().split()]
a = []
if len(nums)==0:
print(0)
for i in nums:
position = bisect.bisect_left(a, i)#在a中插入i应插入的位置index,排序;若i已存在,则返回左边的位置index
if len(a)==position:#第一个元素,或者大于a中元素的元素才插入
a.append(i)
else:
a[position]=i#否则替换对应index的值
print(len(a))
except:
break
相关推荐
- Python设计模式 第 13 章 中介者模式(Mediator Pattern)
-
在行为型模式中,中介者模式是解决“多对象间网状耦合”问题的核心模式。它就像“机场调度中心”——多个航班(对象)无需直接沟通起飞、降落时间,只需通过调度中心(中介者)协调,避免航班间的冲突与混乱...
- 1.3.1 python交互式模式的特点和用法
-
什么是Python交互模式Python交互模式,也叫Python交互式编程,是一种在Python解释器中运行的模式,它允许用户在解释器窗口中输入单个Python语句,并立即查看结果,而不需要编写整个程...
- Python设计模式 第 8 章 装饰器模式(Decorator Pattern)
-
在结构型模式中,装饰器模式是实现“动态功能扩展”的核心模式。它就像“手机壳与手机的关系”——手机(原始对象)具备通话、上网等基础功能,手机壳(装饰器)可在不改变手机本身的前提下,为其新增保护、...
- python设计模式 综合应用与实战指南
-
经过前面16章的学习,我们已系统掌握创建型模式(单例、工厂、建造者、原型)、结构型模式(适配器、桥接、组合、装饰器、外观、享元、代理)、行为型模式(责任链、命令、迭代器、中介者、观察者、状态、策略...
- Python入门学习教程:第 16 章 图形用户界面(GUI)编程
-
16.1什么是GUI编程?图形用户界面(GraphicalUserInterface,简称GUI)是指通过窗口、按钮、菜单、文本框等可视化元素与用户交互的界面。与命令行界面(CLI)相比,...
- Python 中 必须掌握的 20 个核心:str()
-
str()是Python中用于将对象转换为字符串表示的核心函数,它在字符串处理、输出格式化和对象序列化中扮演着关键角色。本文将全面解析str()函数的用法和特性。1.str()函数的基本用法1.1...
- Python偏函数实战:用functools.partial减少50%重复代码的技巧
-
你是不是经常遇到这样的场景:写代码时同一个函数调用了几十次,每次都要重复传递相同的参数?比如处理文件时总要用encoding='utf-8',调用API时固定传Content-Type...
- 第2节.变量和数据类型【第29课-输出总结】
-
同学们,关于输出的知识点讲解完成之后,把重点性的知识点做一个总结回顾。·首先对于输出这一章节讲解的比如有格式化符号,格式化符号这里需要同学们额外去多留意的是不是百分号s格式化输出字符串。当然课上也说百...
- AI最火语言python之json操作_python json.loads()
-
JSON(JavaScriptObjectNotation,JavaScript对象表示法)是一种开放标准的文件格式和数据交换格式,它易于人阅读和编写。JSON是一种常用的数据格式,比如对接各种第...
- python中必须掌握的20个核心函数—split()详解
-
split()是Python字符串对象的方法,用于将字符串按照指定的分隔符拆分成列表。它是文本处理中最常用的函数之一。一、split()的基本用法1.1基本语法str.split(sep=None,...
- 实用方法分享:pdf文件分割方法 横向A3分割成纵向A4
-
今天在街上打印店给儿子打印试卷时,我在想:能不能,把它分割成A4在家中打印,这样就不需要跑到街上的打印店打印卷子了。原来,老师发的作业,是电子稿,pdf文件,A3格式的试卷。可是家中的打印机只能打印A...
- 20道常考Python面试题大总结_20道常考python面试题大总结免费
-
20道常考Python面试题大总结关于Python的面试经验一般来说,面试官会根据求职者在简历中填写的技术及相关细节来出面试题。一位拿了大厂技术岗SpecialOffer的网友分享了他总结的面试经...
- Kotlin Data Classes 快速上手_kotlin快速入门
-
引言在日常开发中,我们常常需要创建一些只用来保存数据的类。问题是,这样的类往往需要写一堆模板化的方法:equals()、hashCode()、toString()……每次都重复,既枯燥又容易出错。//...
- python自动化RobotFramework中Collections字典关键字使用(五)
-
前言介绍安装好robotframework库后,跟之前文章介绍的BuiltIn库一样BuiltIn库使用介绍,在“python安装目录\Lib\site-packages\robot\librarie...
- Python中numpy数据分析库知识点总结
-
Python中numpy数据分析库知识点总结二、对已读取数据的处理②指定一个值,并对该值双边进行修改③指定两个值,并对第一个值的左侧和第二个值的右侧进行修改2.4数组的拼接和行列交换①竖直拼接(np...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- Python设计模式 第 13 章 中介者模式(Mediator Pattern)
- 1.3.1 python交互式模式的特点和用法
- Python设计模式 第 8 章 装饰器模式(Decorator Pattern)
- python设计模式 综合应用与实战指南
- Python入门学习教程:第 16 章 图形用户界面(GUI)编程
- Python 中 必须掌握的 20 个核心:str()
- Python偏函数实战:用functools.partial减少50%重复代码的技巧
- 第2节.变量和数据类型【第29课-输出总结】
- AI最火语言python之json操作_python json.loads()
- python中必须掌握的20个核心函数—split()详解
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)