今日内容

内容概要

  • while + else 使用
  • while死循环与while的嵌套
  • for循环基本使用
  • range关键字
  • for的循环补充(break、continue、else)
  • for循环的嵌套
  • 基本数据类型及内置方法

内容详细

while+else

'''
语法结构
while 条件:
条件成立后执行的代码块
else:
循环体正常结束后才会执行的代码块
'''

执行流程图:

# eg:
count = 1
while count <10
print (count)
count += 1
else:
print("while循环正常结束了")

该代码的的运行结果为:

while死循环

死循环有时候会极度的影响电脑的性能,甚至会造成硬件的损坏

就是永远靠自身的控制终止的循环,并且一致占用CPU工作

count = 10
while True:
count *= 1
#此段代码就是一个死循环,它没有结束的条件,只会依靠此段代码无限的循环运算

while嵌套

将一个while循环放入到另一个while循环体里面,就形成了while嵌套,嵌套循环就是把内层循环,当成了外层循环的循环体

for循环

'''
for循环可以做到的事情,while循环都可以做到
但for循环语法更加简单,使用频率更高
一般情况下,涉及到循环取值的时候,都会考虑使用for循环而不是while循环
'''
'''
语法结构
for 变量名 in for循环对象: # 字符串、列表、字典、元组、集合
for循环的循环体代码
每次执行都会将循环对象中的一个元素赋值给变量名
'''
# for循环命名要求
# 针对for循环语法结构中的变量名,也应该做到见名知意
# 如果真没有合适的名字可使用常用的变量名i,j,k,v,num,item # eg:
name_list = ['jason', 'kevin', 'tony', 'tank', 'oscar']
#使用while循环打印出列表名字
count = 0
while count < 5:
print(name_list[count])
count += 1
#使用for循环打印出列表名字
for i in name_list:
print(i)
这两种循环都可以打印出列表名字,但是for循环的代码明显简洁了很多

循环字符串

依次取出每一个字符

for i in 'helloword':
print(i)

运行结果如图所示:

循环字典

循环字典比较特殊,循环字典只能获取到字典的key,而value无法直接获取

# eg
userinfo_dict = {'username':'tuzi','age' = 18, 'gender': 'male'}
for i in userinfo_dict:
print(i)

运行结果如图所示:

可以看到输出结果只打印了字典的K值

循环元组

# eg
for i in (1,2,3,4):
print(i)

运行结果为:

循环集合

注:字典与集合内部都是无序的

# eg
for i in {11,22,33,44,55}:
print(i)

运行结果为:


range关键字

range方法在python2和python中有所区分

在python2中range是直接产生一个列表,元素很多的情况下比较占用空间

在python2中有一个xrange其实就是python3里面的range

在python3中range相当于哆啦A梦的口袋(迭代器,后面会补充)不占空间但是可以取出很多数据

在python3中就只有一个range了

区别如下图

python2中的range

python2中的xrange

python3中的range

range用法

# 用法1
# 括号内只写一个数字,默认从0开始,顾头不顾尾
for i in range(10):
print (i)
"""
输出结果为 0
1
2
3
4
5
6
7
8
9
"""
# 用法2
# 括号内写两个数字,自定义起始位置,顾头不顾尾
for i in range(1,10)
print(i)
"""
输出结果为
1
2
3
4
5
6
7
8
9
"""
#用法3 括号内写三个数字,第三个数字表示的是等差数列的差值,默认情况下是1
for i in range(1,10,2):
print(i)
"""
输出结果为
1
3
5
7
9
"""

for 循环补充

# for+break
break结束本层for循环
# for+continue
continue结束本次for循环,直接开始下一次循环
# for+else
for循环正常结束之后运行else子代码
# 用法与while一致

如何产看数据类型的内置方法

可以借助编程软件的自动提示 采用句点符快速查看

数据类型的内置方法

int整型

  1. 类型转换
  2. 进制数转换
# 类型转换
res = int(123) # 将int方法在执行之后的结果赋值给变量res
print(res,type(res))
# 只可以转换整数,不能转换其他类型(浮点型,字母)

转换浮点型和字母会报错

# 将十进制转换成其他进制
bin 将十进制转换成二进制
oct 将十进制转换成八进制
hex 将十进制转换成十六进制
print(bin(100)) # 0b1100100 二进制0b开头
print(oct(100)) # 0o144 八进制0o开头
print(hex(100)) # 0x64 十六进制0x开头
# 将其他禁止转换成十进制
print(int('0b1100100', 2))
print(int('0o144', 8))
print(int('0x64', 16))
根据不同的进制,末尾加上不同的进制名

float浮点型

# 类型转换
res = float('11.11')
print(res,type(res))
# 需要注意的是,如果你转换的是一个整型,那么在转换完毕后,会给你把这个整数加上小数点。
res = float('11')
print(res, type(res))
float('abc') # 结果为11.0

字符串内置方法

  1. 类型转换

    str 可以转换所有的基本数据类型
    整型、浮点型、列表、字典、集合、元组、布尔
    # 转换方式为:str(转换的数据,可以是任意数据类型)
    # 使用print(str(数据),type(str(数据)))来查看转换结果
  2. 索引取值

    s = 'hello world'
    print(s1[0])
    #输出结果为h
  3. 切片操作

    s = 'hello world'
    print(s[2:4]) # 顾头不顾尾
    输出结果为ll
  4. 步长

    s = 'hello world'
    print(s[0:9:1]) # 第三个参数是步长 默认为1 依次获取,顾头不顾尾
    print(s[0:9:2]) # 间隔一个取一个
    # 结果:hlowr # 索引切片扩展
    print(s[-1]) #获取最后一个字符
    print(s[-1:-8:-2]) # 第三个参数可以控制索引的方向
    # 结果:drwo
  5. 统计字符串中字符的个数

    s = 'hello world'
    print(len(s))
    #结果:11
  6. 成员运算

    s = 'hello world'
    print('lo'in s)
    # 必须是相连的字符串,否则为false
  7. 移除字符串首位指定的字符(使用频率较高)

    strip
    # 用法
    name = ' tuzi '
    print(len(name)) # 结果为11
    res = name.strip() # 默认移除字符串首尾的空格,也可以是其他字符
    print(res,len(res)) #结果为tuzi 4(字符串长度)
    '''
    strip还分为lstrip(只移除左边指定字符串)
    rstrip(只移除右边指定字符串)
    '''
  8. 按照指定的字符切割字符串

    split方法切割完之后是一个列表
    rsplit从右往左切
    date = 'tuzi|1234|meitoufa'
    print(date.split('|'))
    # ['tuzi', '1234', 'meitoufa']
    username, password, hobby = date.split('|')
    print(username,password,hobby)
    # tuzi 1234 meitoufa
    split也可以设置步长,比如说想切一个不切了,也可以实现
    date = 'tuzi|1234|meitoufa'
    print(date.split('|',maxsplit=1)) # 只切一次
    # 输出结果:['tuzi', '1234|meitoufa']
    print(date.rsplit('|',maxsplit=1)) # rsplit从右往左切
    # 输出结果:['tuzi|1234','meitoufa']

while + else 使用,while死循环与while的嵌套,for循环基本使用,range关键字,for的循环补充(break、continue、else) ,for循环的嵌套,基本数据类型及内置方法的更多相关文章

  1. if循环&数据类型的内置方法(上)

    目录 if循环&数据类型的内置方法 for循环 range关键字 for+break for+continue for+else for循环的嵌套使用 数据类型的内置方法 if循环&数 ...

  2. while和for循环的补充与数据类型的内置方法(int, float, str)

    目录 while与for循环的补充 while + else 死循环 while的嵌套 for补充 range函数 break与continue与else for循环的嵌套 数据类型的内置方法 int ...

  3. wlile、 for循环和基本数据类型及内置方法

    while + else 1.while与else连用 当while没有被关键字break主动结束的情况下 正常结束循环体代码之后执行else的子代码 """ while ...

  4. python 入门基础4 --数据类型及内置方法

    今日目录: 零.解压赋值+for循环 一. 可变/不可变和有序/无序 二.基本数据类型及内置方法 1.整型 int 2.浮点型float 3.字符串类型 4.列表类型 三.后期补充内容 零.解压赋值+ ...

  5. Day 07 数据类型的内置方法[列表,元组,字典,集合]

    数据类型的内置方法 一:列表类型[list] 1.用途:多个爱好,多个名字,多个装备等等 2.定义:[]内以逗号分隔多个元素,可以是任意类型的值 3.存在一个值/多个值:多个值 4.有序or无序:有序 ...

  6. day6 基本数据类型及内置方法

    day6 基本数据类型及内置方法 一.10进制转其他进制 1. 十进制转二进制 print(bin(11)) #0b1011 2. 十进制转八进制 print(hex(11)) #0o13 3. 十进 ...

  7. python 基本数据类型以及内置方法

    一.数字类型 # 一.整型int # ======================================基本使用====================================== ...

  8. DAY05、基本数据类型与内置方法

    一.可变类型与不可变类型: 1.可变类型:值改变,但是id不变 2.不可变类型:值改变,id也改变 二.数据类型: 1.数字类型: 1.1:整型int: 用途:记录年龄.等级.数量 定义方式:age ...

  9. DAY5 基本数据类型及内置方法

    一.可变与不可变数据类型 1.可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型 2.不可变类型:值改变,但是id也跟着变,证明是产生了新的值,是不可变类型 二.数字类型 1.整型int ...

随机推荐

  1. Fiddler初学笔记

    Fiddler简介 Fiddller官网: www.fiddler2.com Fiddler是客户端与服务器端的http代理,是目前最常用的http抓包工具之一. Fiddler能够监听客户端和服务器 ...

  2. 你我都会遇到的需求:如何导出MySQL中的数据~ 简单!实用!

    目录 你我都有的需求 方式一:tee 方式二:mysql_use_result 推荐阅读 一.给研发同学看的面试指南 二.MySQL-视频 三.进阶MySQL中间件-视频 四.白日梦的云原生-笔记 五 ...

  3. IDEA中的.iml文件和.idea文件夹作用和意义

    感谢原文作者:LZHHuo 原文链接:https://blog.csdn.net/weixin_41699562/article/details/99552780 .iml文件 idea 对modul ...

  4. ELK 日志分析系统概述及部署

    ELK 日志分析系统概述及部署 1.ELK概述: ELK简介 : ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch.Logstash 和 Kiabana 三个开源工具配合使用 ...

  5. 动态路由与RIP协议

    动态路由与RIP协议 目录 动态路由与RIP协议 一.动态路由(Dynamic Route) 1.动态路由概述 2.动态路由特点 3.动态路由协议 (1)动态路由协议概述 (2)度量值 (3)收敛 4 ...

  6. matlab构建栅格地图绘图思路

    matlab构建栅格地图绘图思路 近来因研究需要,调研并思考了栅格地图的生成方法,暂时总结以备不时之需. 栅格的建立最需要注意栅格粒度的问题,即根据需要调整栅格的边长,目前有两种思路一种是固定栅格边长 ...

  7. MLlib学习——基本数据类型

    数据类型--基于RDD的API 本地矢量 标记点 本地矩阵 分布式矩阵 RowMatrix(行矩阵) IndexedRowMatrix(索引行矩阵) CoordinateMatrix(坐标矩阵) Bl ...

  8. Centos7系统使用yum遇到的问题failure: repodata/repomd.xml from base: [Errno 256] No more mirrors to try.

    简单粗暴重新安装yum. 1.查看linux上所有的yum包 # rpm -qa|grep yum 2.逐个卸载,如 # rpm -e yum-plugin-fastestmirror-1.1.31- ...

  9. Lesson10——NumPy 迭代数组

    NumPy 教程目录 NumPy 迭代数组 NumPy 迭代器对象  numpy.nditer  提供了一种灵活访问一个或者多个数组元素的方式. 迭代器最基本的任务的可以完成对数组元素的访问. Exa ...

  10. Hadoop完全分布式的配置

    选取机器sam01作为主节点,并进行分布式文件的配置 1.进入Hadoop配置文件路径/usr/local/hadoop/etc/hadoop(这里我把Hadoop安装在/usr/local目录下) ...