Python学习路程——Day06

Python学习路程——Day06

一、while循环的补充说明

1、死循环

	真正的死循环是指,循环一旦启动,开始运行,cpu的功耗就会急速上升,直到系统采取保护机制。我们需要尽量的不要让cpu进行长时间的不间断的工作。

2、while嵌套及全局标志位

'''
语法结构:
	while 条件:
		条件成立后所需要执行的代码块
		各种流程控制语句(分支、循环)
全局标志位:
	因为在while循环中,break语句只能结束它所在的那层循环,如果是一个有多个while嵌套的while循环语句,我们想要停止所有while循环,那么每一层的while循环都需要一个break语句来结束,如果我们想要只通过一个语句结束所有的while循环,那么我们就需要使用全局标志位来实现。
	全局标志位就是将while循环的条件用一个变量来接收,我们在需要停止while循环的时候改变一下这个变量的数据值就行了。
'''

示例:

i=0
while i<3:
    user_name = input('请输入您的账号:')
    pass_word = input('请输入您的密码:')
    if user_name=='862808682' and pass_word=='123456':
        print('登录成功!')
        break
    else:
        if i<2:
            print('您的账号密码有误,请重新输入:''您还有',2-i,'次机会')
        i+=1
else:
    print('您已输错三次,请24小时后重试!')

二、流程控制之for循环

1、for循环特点及语法结构

'''
  	for循环能够做到的事情while都可以做到 只不过for循环在一些场景下使用更简单
	主要场景为:循环获取存储多个数据的数据内部数据值
语法结构:
	for 变量名 in 遍历对象:
    	循环体语块
特点:
	1、不需要结束条件,就可以结束循环
	2、擅长遍历取值
'''

示例:

'''
我们定义一个列表,然后获取这个列表中的所有数据。
'''
name_list = ['jason', 'tony', 'tom', 'jack']
for i in name_list:
    print(i)

2、for循环主要遍历的数据类型

for循环主要遍历的数据类型:(字符串、列表、字典、元组、集合)

示例:

# coding:utf-8
name_list = ['jason', 'tony', 'tom', 'jack']
for i in name_list:
    print(i)
'''
for循环遍历字符串
'''
for i in 'hello word!':
	print(i)
'''
for遍历字典
	遍历出来,显示的字典的是k
'''
dic_info={'name': 'jason',  'age':'18','addr':'nanyang' }
for i in dic_info:
	print(i)
'''
for遍历集合
'''
set_age = {1,2,3,4,5,6}
for i in set_age:
	print(i)
'''
for遍历元组
'''
trup_name = ('tony', 'tom', 'sandy')
for i in trup_name:
	print(i)

3、for循环语法结构中的变量名如何命名

1、见名只意
2、如果遍历出来的对象没有具体的含义,可以使用(i,j,k,v,item)

三、range方法

​ range()方法目前阶段,我们可以简单的理解为,是一个帮我们产生一个内部包含多个数字数据的的方法。

示例:

'''
使用for循环
通过range()方法产生一个(0-100)的列表
'''
for i in (101):
	print(i)

四、range实战案例

'''
网络爬虫
	使用代码爬取网络上我们需要的数据
项目需求
	爬取所有页面的数据(博客园)
找寻规律
	https://www.cnblogs.com/
 	https://www.cnblogs.com/#p2
 	https://www.cnblogs.com/#p3
 	https://www.cnblogs.com/#p4
'''

'''
分页的规律 不同的网址有所区别
	1.在网址里面有规律
	2.内部js文件动态加载
'''

示例:

'''
 	大胆猜测:第一页是 https://www.cnblogs.com/#p1
编写代码产生博客园文章前两百页的网址
'''
catch_web = 'https://www.cnblogs.com/#p%s'
for i in range(1,201):
    print(catch_web %i)

练习:

1、计算1-100所有的数之和

'''
计算1-100所有的数之和
'''
sum = 0
for i in range(1, 101):
    # sum = sum = sum + i
    sum += i
print(sum)

2、判断列表中数字2出现的次数

'''
判断列表中数字2出现的次数
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]
'''
count = 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 +=1
print(count)

3、编写代码自动生成所有页网址(注意总共多少页)

https://movie.douban.com/top250

catch_web = 'https://movie.douban.com/top250?start=%s&filter='
# rang()方法可以设置步长
for i in range(0, 251, 25):
    print(catch_web % i)

4、编写代码打印出下列图形(ps:for循环嵌套)

'''
编写代码打印出下列图形(ps:for循环嵌套)  
*****  
*****  
*****  
*****
'''
for i in range(1, 5):
    for j in range(1, 5):
        print('*', end='')
    print()
posted @ 2022-09-28 19:29  负剑远游行归来仍少年  阅读(38)  评论(0)    收藏  举报