今日内容

内容概要

  • 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. [JavaWeb]Log4j的前因后果

    Log4j的前因后果 简介 Log4j的进化史 Log4J的三大组件: Logger:日志记录器,负责收集处理日志记录 (如何处理日志) Appender:日志输出目的地,负责日志的输出 (输出到什么 ...

  2. Python中的魔术方法

    什么是魔术方法? 在Python中,所有用"__"包起来的方法,都称为[魔术方法]. 魔术方法一般是为了让显示器调用的,你自己并不需要调用它们. __init__:初始化函数 这个 ...

  3. C++ 子函数参数传递过程

    编译环境:Visual Studio 2015 参数传递与汇编语言有很大关系.子函数传递参数主要方式有三种(这三种参数传递方式都可用用于x86汇编语言甚至其它汇编语言): 寄存器方式传递参数 存储器方 ...

  4. Codeforces Round #739 (Div. 3)

    A. Dislike of Threes 简单的水题,预处理即可 AC_CODE #include <bits/stdc++.h> using namespace std; templat ...

  5. fastjson、jackson以及son-lib的使用

    fastjson前言 fastJson是阿里巴巴出品的一个json序列化工具. 引入依赖 <dependency> <groupId>com.alibaba</group ...

  6. String存放位置

    简介 字符串在不同的JDK版本中,存放的位置不同,创建方式不同,存放的位置也不同. 存放位置 JDK1.7以下,无论何种方法创建String对象,位置都位于方法区. JDK1.8及1.8以上,new ...

  7. linux内存不足时,为了防止报错,可以使用swap

    1. 创建分区文件, 大小 2G dd if=/dev/zero of=/swapfile bs=1k count=2048000 2. 生成 swap 文件系统 mkswap /swapfile 3 ...

  8. sublime与python交互

    点击菜单栏中的工具 -> 编译系统,勾选Python即可 创建hello.py文件,Ctrl+S保存文件,Ctrl+B执行文件,结果如下图   3.sublime运行python文件的交互环境设 ...

  9. iOS 屏幕录制实现

    iOS 屏幕录制实现 目录 iOS 屏幕录制实现 录屏API版本变化 App内部录制屏幕 录音麦克风声音 App内部录屏直播 Bonjour APP广播端实现 广播端App(直播平台)的实现 iOS1 ...

  10. 前端框架 bootstrap 的使用

    内容概要 前端框架 bootstrap 简介 引入方式 布局容器 栅格系统 图标 内容详细 简介 网址:https://v3.bootcss.com/ 版本: 2.X 3.X 4.X 推荐使用3.X版 ...