首页 > 其他分享 >流程控制(二)

流程控制(二)

时间:2022-09-28 19:34:27浏览次数:43  
标签:控制 流程 打印 range 循环 l1 print com

1.死循环
  真正的死循环是一旦执行,cpu功耗不断上升,直到系统采取紧急措施
     尽量不要让cpu长时间不间断运算

2.嵌套及全局标志位
   注意:一个break只能结束一个循环
       有几个while就的嵌套,想一次性结束,就应该多谢几个break
       如果不想反复写break,可以使用全局标志位
代码展示:
l1 = True
while True:  # 进入循环
    username = input('请输入你的用户名')  # 输入用户名
    password = input('请输入你的密码')  # 输入密码
    if username =='a ning' and password == '123':  # 判断输入的用户名与密码是否正确,正确则
        while l1:  # 进入循环
            cmd = input('请输入你的指令')  # 进入循环输入指令
            if cmd == 'q':  # 如果输入的是q
                l1 = False  # 那么l1就变为错的,那么循环结束
                print('正在执行您的指令%s' % cmd)  # 用了占位符,把输入的指令放入固定的格式中
    else:  # 如果用户名和密码不对,直接打印报错
        print('用户名或密码错误')

控制流程之for循环

for循环能够做到的事情while都可以做到,只不过for循环在一些场景使用下更简单
主要场景:循环获取多个数据的数据内部数据值
while代码展示:
    name_last = ['jason', 'li zhi', 'tom', 'tony']
    # 循环打印出列表的每一个值
    l1 = 0
    while l1 < 4:
        print(name_last[l1])
        l1 += 1		
for代码展示:
    name_last = ['jason', 'li zhi', 'tom', 'tony']
    # 循环打印出列表的每一个值
    for i in name_last:
        print(i)
for循环语法结构:
	for 变量名 in 待遍历的数据:
      for循环体代码
        
        
for循环特点:
	1.擅长遍历取值
	2.不需要结束条件,会自动结束(遍历完)
for循环主要遍历的数据类型有(字符串,列表,元组,字典,集合)
l1 = 'hello word'
for i in l1:
    print(i)  # 取出来的是单个的字符

    l1 = {'username': 'jsaon', 'job': 'teacher'}
for i in l1:
    print(i)  # 取出来的只有键
for循环语法结构中的变量名命名:
	1.见名知意
	2.如果遍历出来的数据没有具体含义,可以用下面来表示:
    i j k item v
for循环体代码中如果执行到break也会直接结束整个for循环
for循环体代码中如果执行continue也会结束当前循环直接开始下一个循环

for 变量名 in 待遍历的数据
	for循环体代码
else:
	for循环体代码没有被break强制结束的情况下运行结束,会执行else

range方法

range简单的理解就是帮我们产生一个内部含有多个数字的数据
    for i in range(0, 100):  # 开始的位置是0,终止的位置是100
        print(i)  # 打印0-99
        
     for i in range(10, 40):  # 第一个数字表示开始的位置,第二个表示结束的位置
    	print(i)  # 打印10-39
for i in range(10, 40, 3):  # 第一个数字表示开始,第二个数字结束的位置,第三个表示数字直接的等差
    print(i)  # 打印10-39中等差3的数值
在python2中
	range()
		直接产生一个列表 内部含有多个数值
	xrange()
		其实就是python3里面的range
在python3中
	range()
		类似于一个工厂 不会占用太多的内存空间 要就生产 

range实战

网络爬虫
	使用代码爬取网络上我们需要的数据
项目需求
	爬取所有页面的数据(博客园)
找寻规律
	https://www.cnblogs.com/
 	https://www.cnblogs.com/#p2
 	https://www.cnblogs.com/#p3
 	https://www.cnblogs.com/#p4
		
l1 = 'https://www.cnblogs.com/#p%s'  # 写一个模板
for i in range (1, 201):  # 循环开始1结束到201的数字
    print('https://www.cnblogs.com/#p%s' % i)  # 循环的数字替代模板

作业

1.
l1 = 0
for i in range (1, 101):  # 打印开始1,结束101
    l1 += i  # 每打印有一个数字都加l1               
    print(l1)
2.
count_num = 0
l1 = [11, 2, 3, 2, 2, 1, 2, 1, 2, 3, 2, 3, 2, 3, 4, 3, 2, 3, 2, 2, 2, 2, 3, 2]
for i in l1:
    if i == 2:
        count_num += 1
        print(count_num)
3.
# 1.先写一个固定的格式
l1 ='https://movie.douban.com/top250?start=%s&filter='
for i in range(0, 226, 25):  # 打印开始为0,结束为226,等差为25的数值
    print('https://movie.douban.com/top250?start=%s&filter=' % i)  # 将打印的数值替换占位符
4.
# 1.每次循环打印一颗星,5颗星一共循环5次
for k in range(4):  # 打印开始为0,结尾为4
    for i in range(5):  # 打印开始为0,结束为5
        print('*', end='')  # 每打印一次输出一颗星
    print()  # 只是为了换行

标签:控制,流程,打印,range,循环,l1,print,com
From: https://www.cnblogs.com/zhanghong1229/p/16739324.html

相关文章