while循环补充、for循环

while循环补充

1.死循环

在编程中,一个无法靠自身的控制终止的循环被称为死循环。
死循环会大量增加cpu的运算。
while 2:
    print('11111')

2嵌套及全局标志位

所谓嵌套循环就是一个外循环的主体部分是一个内循环。内循环或外循环可以是任何类型,例如 while 循环或 for 循环。 例如,外部 for 循环可以包含一个 while 循环,反之亦然。外循环可以包含多个内循环。 循环链没有限制。
需要注意:
一个break只对他所在的那一层循环结束,并不会结束整个全部代码。
有while循环,想结束循环就要在每层while里写几个break来终止代码。用break太麻烦也可以用全局标识位,来进行对循环控制。
嵌套
user_age = 18
dl = 1
while 1:
    print('开始游戏')
    user_cage = input("请输入您猜的年龄")
    user_cage = int(user_cage)
    if user_cage > user_age:
        print("猜大了")
    elif user_cage < user_age:
        print("猜小了")
    else:
        print("恭喜你猜对了")
        break
全局标志位
定义一个计数器然后通过true和false来控制循环结构的执行和结束。
d1 = 1
while d1:
    user = input("输入你的用户名")
    password = input("输入你的密码")
    if user == '123' and password == '123':
        while d1:
            c1 = input('请输入是否继续')
            if c1 == 'q'
            	d1 = 0
              print('正在执行您的指令:%s' % c1)
    else:
            print('用户名或密码错误')        

流程控制for循环

for 循环

img

① 关键子in后面的序列指的是一组值,可能是数字,也可能是字符串。

② 关键字for后面的变量就是依次取序列里的值,每取一次值就执行一次下面的代码块,直到序列里的值全取完。

特别注意:for那行语句最后用“:”结尾,下面的代码块必须缩进!

for循环特点

​ 1擅长于遍历取值

​ 2不需要结束条件,自动结束(比while使用简单)

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

d = [123, 'aaa', 'bbb']
for i in d:
    print(i)

注:字典输出的是k键

info = {'name':'zhangsan', 'age':'15'}
for i in info:
    print(i)

运行结果如下:

字符串输出的是单个字符

info = 'aaaaaaa'
for i in info:
    print(i)

运行结果

for循环句法的命名:

1见名之一 eg:名字、性别

2如果遍历出来的数据没有具体含义可以用一些字母代替 eg:i、j、k等

for循环可以跟break和for连用

for 变量名 in 待编里的数值:
 	break/continue

还可以跟else连用

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

range方法

range(范围)可以用在for循环中产生多个数字数据

for i in range(100):
    print(i)  # 即可输出0-99数据
for i in range(10, 20):
    print(i)  # 即可输出10到19的数据值
for i in range(10, 100, 2):
    print(i)  # 即可生成10到99的等差数列

python2和python3区别

1.print输出不同,在2中无须用将文本加括号在3中必须加括号

2.Python 2将小数点后面没有任何数字的数字视为整数,这可能会导致在除法期间出现意外结果。例如,如果在Python 2代码中输入表达式:3/2,则评估结果将为1,而不是你所期望的1.5。

这是因为Python 2会假设你希望除法的结果为整数,因此它将计算向下舍入到最接近的整数。为了获得结果1.5,你必须编写3.0 / 2.0来告诉Python,你希望它返回一个浮点数,即在结果中包含小数点后面的数字。

Python 3则会默认将3/2评估为1.5,这对于新程序员来说有更直观的感受。

3.range 在2中range()直接产生一个列表 内部含有多个数值xrange()
其实就是python3里面的range在python3中range()类似于一个工厂 不会占用太多的内存空间 要就生产

range实战案例

网络爬虫

大数据是当代时代热门话题大部分网络爬虫是由python来编写代码的,可以使用python来获取想要的数据。

项目爬取博客圆的页码信息数据

y = 'https://www.cnblogs.com/#p%s'
for i in range(200):
    print(y % i)

有些页码使用js动态加载

作业

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

#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]

# 判断列表中数字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]
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] # 13
j=0
i=2
for k in l1:
    if i == k:
        j += 1
print('2出现的次数:',j)

运行结果

# 3.编写代码自动生成所有页网址(注意总共多少页)
# 	https://movie.douban.com/top250
y = 'https://movie.douban.com/top250?start=%s&filter='
for i in range(0, 250, 25):
    print(y % i)

运行结果

# 4.编写代码打印出下列图形(ps:for循环嵌套)
# *****
# *****
# *****
# *****
for i in range(4):
    print('*',end='')
    for j in range(4):
        print('*',end='')
    print()

运行结果:

posted @ 2022-09-28 16:33  冰柠檬檬  阅读(160)  评论(0)    收藏  举报