while.for循环和基本数据类型内置方法

乎语百科 302 0

  • while循环补充说明
  • 流程控制之for循环
  • 基本数据类型内置方法

内容详细

1.死循环
   真正的死循环是一旦执行,Cpu的功耗会急速上升 知道系统采取紧急措施
     所以 尽量不要让cpu长时间不断运算。

2.嵌套以及全局标志位
强调:1.一个break只可以结束他所在的那一层循环
     2.有几个while的嵌套 想一次性结束 就应该写几个break!
     3.如果不想反复写break 可以使用全局标志位
    is_flag = True  # 定义该bool值为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  # is_falg 表示的bool值  在这表示False/停止了
                print('正在执行您的指令:%s' % cmd)  # 打印你输入的指令值
        else:
            print('用户名或密码错误') # if的分支 

流程控制之for循环

for循环可以做到的事情while都可以做到,只不过for循环在某些场景下使用更简单 主要场景:循环获取储蓄多个数据的数据内部数据值 实际:

name_list = ['jason', 'kevin', 'tony', 'oscar']
# 循环打印出列表中每一个数据值(while 索引取值>>>:超出范围会报错)
# count = 0  # 定义次数开始为0
# while count < 4:  # 循环次数到4
#     print(name_list[count])  # 打印循环出来的每次结果
#     count += 1  # 循环次数+1

for 循环:

for i in name_list:  # for循环列表里的 遍历数据
	print(i)    # 打印输出
for循环语法结构
	for 变量名 in 待遍历的数据:
 		  for循环体代码

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

for循环主要遍历的数据类型有(常见有 字符串、列表、元组、字典、集合)
info = 'hello world'
for i in info:
	print(i)  # 单个单个字符  打印结果: h e l l o  w o r l d
    d = {'username': 'jason', 'password': 123}
    for i in d:
        print(i)  # 只有键参与遍历  打印结果: username password

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

  1. 见名知意
  2. 如果遍历出来的数据值没有具体的含义 可以使用常用的
  3. i j k item v

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

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

for 变量名 in 待遍历的数据:
    for循环体代码
else:
    for循环体代码没有被break强制结束的情况下运行完毕之后 运行 # 没有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()
		直接产生一个列表 内部含有多个数值
		# range(100) 在python2中  会打印出1-99全部数字 会占空间
	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

 	大胆猜测:第一页是 https://www.cnblogs.com/#p1
编写代码产生博客园文章前两百页的网址
'''
分页的规律 不同的网址有所区别
	1.在网址里面有规律
	2.内部js文件动态加载
'''

作业

计算1-100所有的数之和
num = 0  # 定义变量 初始值为0
for i in range(1, 101):  # range执行后面数值会取值少一个
    num += i
    # num = + i    第一次num = + i(i代表1 做for循环)=1
    # num = + i    第二次num = + i(i代表2 num此时为1)=3
print(num)  # 打印输出结果

# 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]
n = 0  # 定义一个次数
for i in l1:  # for循环 取l1里面所有的值
    print(i)
    if i == 2:  # 判断 取到的值是否为2
        n += 1  #  如果是 次数+1
print(n)
3.编写代码自动生成所有页网址(注意总共多少页)
num = 0  # 定义一个初始次数
base_utl = 'https://movie.douban.com/top250?start=%s&filter='  # 定义网址名
for i in range(0, 250, 25):  # for 循坏 数值空20
    num += 1  # 循环一次 次数+1
    print(base_utl % i)
    print(num)

# 4.编写代码打印出下列图形(ps:for循环嵌套)
# *****
# *****
# *****
# *****
for i in range(4): # for循环4次
    for i in range(5):  # for循环5次
        print('*', end='')  # 没有end'' 自动换行
    print()

标签:

留言评论

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~