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

- 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循环语法结构中的变量名如何命名
- 见名知意
- 如果遍历出来的数据值没有具体的含义 可以使用常用的
- 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()
while.for循环和基本数据类型内置方法的更多相关文章
- python循环与基本数据类型内置方法
今天又是充满希望的一天呢 一.python循环 1.wuile与else连用 当while没有被关键'break'主动结束的情况下 正常结束循环体代码之后会执行else的子代码 "" ...
- python常用数据类型内置方法介绍
熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xx ...
- python-字典数据类型内置方法
字典数据类型内置方法(必考) 用途:存多个值,不通过索引取值,可以用关键字找到对应得值 定义方式:{}内以key:value的方式存储多个值,值与值之间用逗号隔开 lis = ['ruixing', ...
- python中其他数据类型内置方法
补充字符串数据类型内置方法 1.移除字符串首尾的指定字符可以选择方向1: s1 = '$$$jason$$$' print(s1.strip('$')) # jason print(s1.lstrip ...
- python for循环while循环数据类型内置方法
while 条件: 条件成立之后循环执行的子代码块 每次执行完循环体子代码之后都会重新判断条件是否成立 如果成立则继续执行子代码如果不成立则退出 break用于结束本层循环 ### 一:continu ...
- python数据类型内置方法 字符串和列表
1.字符串 内置方法操作# a = 'qqssf'#1. print(a[-1:]) #按索引取,正向从0开始,反向从-1开始# print(len(a)) #取长度# a = 'qqssf'# 2. ...
- Day 05 可变不可变、数据类型内置方法
1.可变类型:值改变,但是id不变,证明就是改变原值,是可变类型 2.不可变类型:值改变,但是id也跟着改变,证明是产生新的值,是不可变类型 数字类型 一.整型int 1.用途:记录年龄.等级.数量 ...
- Day06for循环和字符串的内置方法
Day06 1.for循环(迭代器循环) while循环 条件循环,循环是否结束取决于条件的真假 for循环,迭代器循环,多用于循环取值,循环是否结束取决于被循环数据的元素个数 2.range(1,5 ...
- python-列表数据类型内置方法
1 列表数据类型(必考) 1.1 用途:兴趣爱好,多个女朋友 1.2 定义方式:[]内用逗号隔开多个元素,多个元素可以是任意数据类型 fangping_boy_friend_list=['ruixin ...
随机推荐
- CF1702B Polycarp Writes a Srting from Memory 题解
给定一个字符串,每天可以记忆三个字符,求书写出整个字符串的天数. 每次确定要记忆的三个字母,并向后寻找,若有非三个字母其中一个,则重新开启一天记忆三个字母. #include<cstdio> ...
- 面试突击68:为什么 TCP 需要 3 次握手?
TCP 三次握手是一道经典的面试题,它是指 TCP 在传递数据之前,需要进行 3 次交互才能正式建立起连接,并进行数据传递. TCP 之所以需要 3 次握手是因为 TCP 双方都是全双工的.所谓全双工 ...
- php static 和self区别
static(关键字) 类似于 self(关键字) , 但它指向的是被调用的类(Document) 而不是包含类(DomainObject) , static 和 self 的区别: <?php ...
- Vue 引出声明周期 && 组件的基本使用
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...
- 如何基于WPF写一款数据库文档管理工具(二)
系列目录 基于WPF重复造轮子,写一款数据库文档管理工具(一) 本篇重点 上次发表了基于WPF重复造轮子,写一款数据库文档管理工具(一) 得到不少人支持,文章一度上到了博客园推荐表首页,看来大家对这个 ...
- Spring源码 14 IOC refresh方法9
参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...
- 监督学习集成模型——AdaBoost
一.集成学习与Boosting 集成学习是指将多个弱学习器组合成一个强学习器,这个强学习器能取所有弱学习器之所长,达到相对的最佳性能的一种学习范式. 集成学习主要包括Boosting和Bagging两 ...
- 记录第一次给开源项目提 PR
本文是深入浅出 ahooks 源码系列文章的第八篇,该系列已整理成文档-地址.觉得还不错,给个 star 支持一下哈,Thanks. 本篇文章算是该系列的一个彩蛋篇,记录一下第一次给开源项目提 PR ...
- Chapter 09 - NSUndoManager (C#实现 + 全网原创)
此例子针对NSDocument实现了tableview 每一行添加/删除的undo/redo,以及每一个单元格内容编辑的undo/redo.基于NSDocument类的实现.PersonModel + ...
- virtio_net 设备的队列数问题
virtio_net设备的其他问题:见 https://www.cnblogs.com/10087622blog/p/15886345.html 一个virtio_net设备在 virtnet_pro ...