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