for循环及range内置方法

"""
1.先写注释(思维逻辑和想法)
2.先考虑主体功能 在考虑附加功能
"""

while循环补充说明

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

2. 嵌套及全局标志位
  1)一个break只能结束它所在的那一层循环
  2)有几个while的嵌套,想一次性结束,就应该写几个break
  3)如果不想反复写break,可以使用全局标志位

is_flag = True
while is_flag:
    username = input('username>>>:')
    password = input('password>>>:')
    if username == 'jason' and password == '123':
        while is_flag:
            cmd = input('请输入您的指令>>>:')
            if cmd == 'q':
                is_flag = False
            print('正在执行您的指令:%s' % cmd)
    else:
        print('用户名或密码错误')

image
image

流程控制之for循环

for 循环能够做到的事情while都可以做到,只不过for循环在一些场景下使用更简单
主要场景为:循环获取存储多个数据的数据内部数据值
实际案例:
name_list = ['jason', 'kevin', 'tony', 'oscar']  # 遍历
# 循环打印出列表中每一个数据值(while 索引取值>>>:超出范围会报错)
# count = 0
# while count < 4:
#     print(name_list[count])
#     count += 1
# for 循环
for i in name_list:
    print(i)

for 循环语法结构
    for 变量名 in 待遍历的数据:
        for循环体代码

for循环特点
    1. 擅长遍历取值
    2. 不需要结束条件 自动结束(遍历完)

for 循环主要遍历的数据类型有(常见有 字符串、列表、元祖、字典、集合)
    info = 'hello world'
    for i in info:
            print(i)  # 单个单个字符串

    d = {'username': 'jason', 'password': 123}
    for i in d:
        print(i)  # 只有键参与遍历
        
for循环语法结构中的变量名如何命名
    1. 见名知意
    2. 如果遍历出来的数据值没有具体的含义,可以使用常用的
        i j k item v 

for循环体代码中如果执行到break也会直接结束整个for循环

for循环体代码中如果执行到continue也会结束当前循环直接开始下一次循环

for 变量名 in 待遍历的数据:
    for循环体代码
elsefor循环体代码没有被break强制结束的情况下运行完毕之后 运行

range方法

range可以简单的理解为是帮我们产生一个内部含有多个数字的数据

for i in range(101):  # 起始位置为0 终止位置为100
    print(i)  # [0,......100]

for i in range(10, 20):  # 第一个为起始位置,第二个终止位置
    print(i)

for i in range(1, 20, 2):  # 第三个数为等差值 默认不写为1
    print(i)
    
"""
在python2中
    range()
        直接产生一个列表 内部含有多个数值
    xrange()
        起始就是python3里面的range
在python3中
    range()
        类似于一个工厂 不会占用太多的内存空间 要就生产
"""

image

rang实战案例

网络爬虫
   使用代码爬取网络上我们需要的数据
项目需求
    爬取所有页面的数据(博客园)
找寻规律
    https://www.cnblogs.com/
    https://www.cnblogs.com/#p2
    https://www.cnblogs.com/#p3
    https://www.cnblogs.com/#p4
大胆猜测:第一页是https://www.cnblogs.com/#p1,编写代码产生博客园文章前两百页的网址
"""
分页的规律 不同的网址有所区别
  1. 在网址里面有规律
  2. 内部js文件动态加载
"""

作业

1. 计算1-100所有的数之和
count_num = 0
for i in range(101):
    count_num += i
print(count_num)

2. 判断列表中数字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. 编写代码自动生成所有页网址(注意总共多少页)
base_url = "https://movie.douban.com/top250?start=%s&filter="
for i in range(0,275,25):
    print(base_url % i)
	
4.编写代码打印出下列图形(ps:for循环嵌套)
*****
*****
*****
*****
for i in range(5):
    for k in range(5):
        print('*',end='')
    print()
posted @   悠悠-winter  阅读(105)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
点击右上角即可分享
微信分享提示