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

博客 分享
0 229
张三
张三 2022-03-08 20:56:18
悬赏:0 积分 收藏

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

今日内容

内容概要

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

内容详细

while+else

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

执行流程图:

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

该代码的的运行结果为:

image-20220308145107163

while死循环

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

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

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

while嵌套

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

image-20220308152107123

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 = 0while count < 5:	print(name_list[count])	count += 1#使用for循环打印出列表名字for i in name_list:	print(i)这两种循环都可以打印出列表名字,但是for循环的代码明显简洁了很多

循环字符串

依次取出每一个字符

for i in 'helloword':	print(i)

运行结果如图所示:

image-20220308154211327

循环字典

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

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

运行结果如图所示:

image-20220308155313484

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

循环元组

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

运行结果为:

image-20220308155724022

循环集合

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

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

运行结果为:

image-20220308155911367


range关键字

python2中 range() 函数可创建一个整数列表,一般用在 for 循环中。

range方法在python2和python中有所区分
在python2中range是直接产生一个列表,元素很多的情况下比较占用空间
在python2中有一个xrange其实就是python3里面的range
在python3中range相当于哆啦A梦的口袋(迭代器,后面会补充)不占空间但是可以取出很多数据
在python3中就只有一个range了

区别如下图

python2中的range

image-20220308160518211

python2中的xrange

image-20220308160558855

python3中的range

image-20220308160637601

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)"""输出结果为123456789"""#用法3 括号内写三个数字,第三个数字表示的是等差数列的差值,默认情况下是1for i in range(1,10,2):    print(i)"""输出结果为13579"""

for 循环补充

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

image-20220308162735794

image-20220308162905146

image-20220308163056010

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

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

数据类型的内置方法

int整型

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

转换浮点型和字母会报错

image-20220308164122167

image-20220308164147594

# 将十进制转换成其他进制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))  # 结果为11res = 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 meitoufasplit也可以设置步长,比如说想切一个不切了,也可以实现date = 'tuzi|1234|meitoufa'print(date.split('|',maxsplit=1))  # 只切一次# 输出结果:['tuzi', '1234|meitoufa']print(date.rsplit('|',maxsplit=1))  # rsplit从右往左切# 输出结果:['tuzi|1234','meitoufa']
posted @ 2022-03-08 20:19 你脱发吗 阅读(4) 评论(0) 编辑 收藏 举报
回帖
    张三

    张三 (王者 段位)

    821 积分 (2)粉丝 (41)源码

     

    温馨提示

    亦奇源码

    最新会员