Python:流程控制及内置方法

Python:流程控制及内置方法

流程控制之while+else

昨天我们讲了结束while循环可以加关键字“break”,那么while+else的用法呢就是在没有用关键字“break”的情况下,while循环正常结束,就可以执行else代码。来看一下代码结构:

'''
while 条件:
    循环体代码
else:
    while循环正常结束执行的代码  
'''

我们可以来看一段代码,可以更加直观的了解它:

count = 0
while count < 10:
    print(count)
    count += 1
    # break  # 如果在这里加一个break下面的代码就不会执行
else:
    print('正常结束可以执行代码')

流程控制之while嵌套

while嵌套就是字面意思,while循环里面嵌套一个while循环,用代码来演示一下:

count = 0
is_teg = True
while is_teg:
    while count < 3:
        username = input('输入你的用户名>>:')
        password = int(input('输入你的密码>>:'))
        if username == 'oscar' and password == 123:
            print('登录成功')
            break
        else:
            print('登录失败')
            count += 1
            if count == 3:
                again = input('你的次数用完了,是否继续(y/n)>>:')
                if again == 'y':
                    count = 0
                else:
                    is_teg = False

死循环

死循环这个我们也是要讲一下的,死循环就是一直无法结束的循环,一直占用CPU工作,会造成电脑的卡顿,严重的会损伤硬件。看一段简单的死循环代码:

# 这就是最简单的一段死循环代码,一直打印1,不会结束
while True:
    print(1)

流程控制之for循环

for循环能做的是while循环都做得到,那为什么还要学习for循环呢,那是因为for循环更简洁,使用率更高。先来看一下它的语法结构:

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

一般情况下有关取值的我们都用for循环,很少用while循环,来看一个例子:

# 取出name中的元素
name = ['oscar', 'jason', 'tony']
# while循环
count = 0
while count < 3:
    print(name[count])
    count += 1

# for循环
for i in name:
    print(i)

我们可以看到while循环要四行代码才能完成的,for循环两行就可以,而且while还存在一些弊端,一旦“name”的元素数量比较大,while循环的劣势就会更加明显。

for循环字符串类型,打印字符串的所有字母

# for循环字符串,打印所有字母
count = 'oscar'
for i in count:
    print(i)

for循环字典

 

 

 

for循环集合

 

 

 

 range关键字

如果我们想要打印0-100,我们可以分别用while循环和for循环先看一下:

# 打印1-100
#while循环
count = 0
while count < 101:
    print(count)
    count += 1

# for循环
for i in range(101):
    print(i)

可以看到for循环是非常简洁的,但是也引出了一个新的知识点“range”关键字,“range”是一个迭代器,用于产生数据集,但是节省内存空间,它的取值方法式“顾头不顾尾”。“range”在python2和python3中是有区别的:

python2中的range是直接产生一个列表,占有内存空间大。

 

 

但是python2中的“xrange”是跟python3中的“range”一样的。

 

 

 python3中的“range”就是产生一个数据集,占用内存空间小。

 

 

 for+break循环

break结束本层循环。

# for+break
for i in range(10):
    print(i)
    break  # 没有break的时候打印0-9,加了break打印0之后遇到break直接结束for循环

for+continue循环

continue结束本次循环。

# continue+for
for i in range(10):
    if i == 4:
        continue  # 当i等于4的时候遇到continue直接结束,开始下轮循环
    print(i)

for+else循环

for循环正常结束之后执行else的语句。

# for+else循环
for i in range(10):
    print(i)
else:
    print('正常结束可以打印的')

内置方法:整型(int)

整型的内置方法有类型转换和进制数转换。

类型转换(只能转换纯数字不带小数点的字符串):

 

 

 进制数转换:

1.将十进制转换成其它进制:

print(bin(100))  # 0b1100100 二进制(0b)
print(oct(100))  # 0o144 八进制 (0o)
print(hex(100))  # 0x64 十六进制 (0x)

2.将其它进制转换成十进制:

print(int('0b1100100', 2))
print(int('0o144', 8))
print(int('0x64', 16))

内置方法:浮点型(float)

类型转换(只能转换纯数字的字符串):

 

 

 内置方法:字符串(str)

1.类型转换

字符串可以转换所有的基本数据类型。

2.索引取值

可以跟列表一样根据下标索引取值。

name = 'oscar'
print(name[1])

3.切片

可以取指定的值。

# 取hello
name = 'oscar hello'
print(name[6:11])  # 顾头不顾尾

4.步长

间隔多少个步长取一个值。

5.统计字符串中字符的个数

# 统计字符串的个数
name = 'oscar hello'
print(len(name))

6.成员运算

判断某个字符串在不在某个字符串里面。

7.移除字符串首位指定的字符

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

URL = '127.0.0.1'
print(URL.split('.'))  # 根据句点符切割
print(URL.split('.', 2))  # 可以指定切割的次数

 

 

 这里是IT小白陆禄绯,欢迎各位大佬的指点!!!

 

posted @ 2022-03-08 17:58  陆禄绯  阅读(79)  评论(0)    收藏  举报