当前位置: 首页 > article >正文

python7学习笔记-循环、迭代、pass

九九乘法表-while循环

right = 1
while right <= 9:
    left = 1
    while left <= right:
        print(f'{left}x{right}={left * right}',end='\t')
        left += 1
    print()

    right += 1
#=============================================
#效果:
#1x1=1	
#1x2=2	2x2=4	
#1x3=3	2x3=6	3x3=9	
#1x4=4	2x4=8	3x4=12	4x4=16	
#1x5=5	2x5=10	3x5=15	4x5=20	5x5=25	
#1x6=6	2x6=12	3x6=18	4x6=24	5x6=30	6x6=36	
#1x7=7	2x7=14	3x7=21	4x7=28	5x7=35	6x7=42	7x7=49	
#1x8=8	2x8=16	3x8=24	4x8=32	5x8=40	6x8=48	7x8=56	8x8=64	
#1x9=9	2x9=18	3x9=27	4x9=36	5x9=45	6x9=54	7x9=63	8x9=72	9x9=81	

for循环

for 变量 in 可迭代对象:

        循环体

enumerate(iterable,start = 0)

  • 枚举
  • 返回一个迭代器对象。迭代它会得到一个个元组,每个元组是由索引和对应元素构成。
  • start决定了索引的起始值。
string = 'dfadg'
enu = enumerate(string) # 返回一个迭代器
print(list(enu))
#输出结果
#[(0, 'd'), (1, 'f'), (2, 'a'), (3, 'd'), (4, 'g')]

str2 = '🐱🐱🐕🐕'
for i in enumerate(str2):
    print(i,end=' ')
#输出结果
#(0, '🐱') (1, '🐱') (2, '🐕') (3, '🐕') 

for...in...else...

lst = [4, 3, 8, 532, 1]
for i in lst:
    print(i,end=' ')
    if i > 5:
        break
    else:
        print('🐱',end=' ')
#输出结果
#4 🐱 3 🐱 8 

break

  • 终止所在的循环

continue

  • 跳过当前这次循环,继续到下一次循环
  • for i in range(1, 11):
        if i % 2 == 0:
            continue # 若if成立,则直接跳到for
        else:
            print(i,end=' ')
    #输出结果
    #1 3 5 7 9 

列表推导式

  • 格式:语句 for 子句
  • 列表推导式
lst = [x ** 2 for x in range(8)]
print(lst)
#[0, 1, 4, 9]

迭代问题

  • 列表迭代问题

        列表内存自动管理:Python的列表会自动管理内容,当对列表插入元素或者删除元素时,列表会移动其中的元素以保证元素之间是连续的。

lst1 = [1, 2, 3]

for i in lst1:
    lst1.remove(i)

print(lst1)# [2],remove过程原列表的下标改变了

lst2 = ['a', 'b', 'd', 'f']
new_lst = lst2.copy()

for i in new_lst:
    lst2.remove(i)
print(lst2)#[]

字典、集合迭代问题

  • 字典、集合在迭代时,不允许改变元数据的size
#字典迭代
info_Magic = {'Academy' : 'Gryffindor','name' : 'HarryPotter','grade' : 1}
#for循环输出键
for k in info_Magic:
    print(k, end=' ') #Academy name grade
print()

#会报错
# for k in info_Magic:
#     del info_Magic[k]
#     print(info_Magic) #RuntimeError: dictionary changed size during iteration

new_d = info_Magic.copy()
for k in new_d:
    del info_Magic[k]
    print(info_Magic)
'''
for循环输出结果:
{'name': 'HarryPotter', 'grade': 1}
{'grade': 1}
{}
'''

pass语句

  • pass是一个关键字,表示一个空语句,当它被执行时,不做任何操作,通常用占位符,用在当语法上需要语句但实际不需要执行任何操作的情况下使用。

http://www.kler.cn/a/418408.html

相关文章:

  • 【C语言】扫雷游戏(一)
  • 一万台服务器用saltstack还是ansible?
  • 数据集搜集器(百科)008
  • pycharm链接neo4j(导入文件)
  • WEB攻防-通用漏洞CSRFSSRF协议玩法内网探针漏洞利用
  • ROS2-参数服务器
  • 开源 - Ideal库 - Excel帮助类,TableHelper实现(三)
  • 【随笔】一次JS和python中的MD5加密的记录
  • Filter过滤器的使用
  • 爬虫技术全解析:从入门到精通
  • FPGA芯片全生命周期流程
  • 手机实时提取SIM卡打电话的信令声音-蓝牙电话如何适配eSIM卡的手机
  • vue实现时间倒计时/时间增加组件
  • 基于Vue3+Element Plus 实现多表单校验
  • Oracle 11gR2 Data Guard 搭建 (一主一从)
  • Linux高级文件系统
  • FPGA实现串口升级及MultiBoot(十)串口升级SPI FLASH实现
  • 【C++】getchar() 与 putchar() 的深入解析
  • Transformer?Attention?——Are All You Need!
  • 2个方法教打开把Word文档转换为PDF格式
  • 如何在本地环境中模拟使用https
  • TCP/IP协议簇自学笔记
  • ros2键盘实现车辆: 简单的油门_刹车_挡位_前后左右移动控制
  • 面阵相机的使用和注意事项
  • 基于树莓派3B+的简易智能家居小项目(WiringPi库 + C语言开发)
  • 数据结构(理解)