day6

day 6

while + else

while与else连用:

当while没有被关键词break主动结束的情况下,正常结束循环体代码之后会执行else的子代码。

while 条件:
循环体代码
else:
循环体代码正常运行结束 则会执行该子代码块

count = 1
    while count < 10:
        if count == 4:
            break
        print(count)
        count += 1
    else:            #  while循环正常结束后执行
        print('')

死循环与while的嵌套

死循环:

死循环就是永远无法结束的循环并且一直占用CPU工作,死循环有些时候回极度的影响电脑的性能,甚至会造成硬件的损伤。

count = 10
        while True:
            count *= 1

while嵌套:

当满足内外两个while条件时,先执行内循环,不满足内循环条件时跳出内循环,直接执行一次外循环,在判断是否满足外循环条件,再决定是否执行循环。

flag = True
    while flag:
        username = input('username>>>:')
        password = input('password>>>:')
        if username == 'jason' and password == '123':
            print('登录成功')
            while flag:
                cmd = input('请输入您的指令>>>:')
                if cmd == 'q':
                    print('下次光临')
                    flag = False
                print('正在执行您的指令:%s' % cmd)
        else:
            print("用户名或密码错误")

for循环

  1. for循环可以做到的事情while循环都刻意做到,但是for循环的语法更加简单,使用频率更高

  2. 一般情况下涉及到循环取值的时候都会考虑for循环而不是while循环

  3. for循环是编程语言中一种循环语句,而循环语句由循环体及循环的判定条件两部分组成语法结构:

    for 变量名 in for循环对象: # 字符串、列表、字典、元组、集合
    for循环的循环体代码
    每次执行都会将循环对象中的一个元素赋值给变量名

  4. 针对for循环语法结构中的变量名也应该做到见名知意,如果没有合适的名字可以使用常用的变量名。

  5. 字典与集合内部都是无序的,循环字典只能获取到字典的key ,value无法直接获取

name_list = ['jason', 'kevin', 'tony', 'tank', 'oscar']
# 使用for循环依次打印出列表中所有的元素
 for name in name_list:
     print(name)

range关键字

​ range方法在python 2和python 3中有所区分,在Python 2中range是直接产生一个列表,元素很多情况下比较占用空间,在python 2中由一个 xrange 其实就是python 3中的range,在python 3中range相当于哆啦A梦的口袋,不占用空间但是可以取出很多数据,python 3中只有一个range。

# 循环打印0-100
 for i in range(101):  # 从0开始到100结束的数据集 顾头不顾尾
     print(i)
# 用法2  括号内写两个数字  自定义起始位置 顾头不顾尾
for i in range(1, 10):
     print(i)
# 用法3  括号内写三个数字  第三个数字表示的是等差数列的差值  默认情况下是1
 for i in range(1, 10, 2):
     print(i)

for循环补充

  1. for+break break结束本层循环

  2. for+continue continue结束本次循环,开始下一次循环

  3. for+else for循环正常结束之后运行的代码

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

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

数据类型的内置方法

int整型

  1. 类型装换:

    int方法只能转换纯数字的字符

    res = int('123')
    
  2. 进制数转换

    # 将十进制转换成其他机制
     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))  # 11.11
    res = float('11')
    print(res, type(res))  # 11.0
    float('abc')

字符串内置方法

类型装换:

str可以转换所有基本数据类型

 print(str(11), type(str(11)))
 print(str(11.11), type(str(11.11)))
 print(str([1, 2, 3, 4])

索引取值:

字符串支持索引取值

print(s1[0])

切片操作:

从一个·字符串中取出子字符串

语法结构和for循环的关键词range一样,但他是用中括号而不是小括号,也是顾头不顾尾

s1 = 'hello world'
print(s1[2:4])

切片里面第三个参数为步长,默认为1,依次获取,如果是2的话就是间隔一个取一个,还可以控制索引的方向

s1 = 'hello world'
print(s1[2:9:2])
s1 = 'hello world'
print(s1[-1:-5:-1])    #  控制索引的方向

获取最后一个字符

s1 = 'hello world'
print(s1[-1])

统计字符串中字符的个数

s1 = 'hello world'
print(len(s1))  

成员运算

s1 = 'hello world'
print('ll' in s1)

移除字符串首尾指定的字符

strip括号内加什么就移除首尾的字符

name = '  jason  '
print(len(name))
res = name.strip()  # 默认移除字符串首尾的空格

按照指定的字符切割字符串

split方法切割完字符串之后是一个列表

data = 'jason|123|DBJ'
print(data.split('|'))
name, pwd, hobby = data.split('|')  # 解压赋值
print(data.split('|', maxsplit=1))  # ['jason', '123|DBJ']
print(data.rsplit('|', maxsplit=1))  # ['jason|123', 'DBJ']
posted @   FYytfg  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示