for循环与数据类型内置方法

for循环与数据类型内置方法

image

break和continue和循环连用

while+continue

#while+continue
continue表示结束本次循环,开始下次循环
# 小练习:打印出从0-10以内的数,不打印4
# 1.定义一个初始变量
count = 0
# 2.根据条件进行while循环
while count < 11:
    # 5.判断count的值
    if count == 4:
        # 6.变量值自增1
        count += 1
        # 7.当count为4时结束本次循环,开始下一次循环
        continue
    # 3.打印count的值
    print(count)
    # 4.变量值自增1
    count += 1

image

while+else

# while+else
# 表现方式一
count = 0
while count < 5:
    print(count)
    count += 1
else:
    print("给爷爬!")  # else后面的内容会输出
count = 0
# 表现方式二
while count < 5:
    if count == 4:
        break
    print(count)
    count += 1
else:
    print("给爷爬!")  # else后面的内容会输出
# 当while和else连用时,只要不是人为的终止循环,else后面的内容会照常输出

for循环

for循环

# for循环
for循环可以做到的while循环都可以做到
for循环相比while循环用起来更加简便,在条件取值上更加方便
# 语法结构
for 变量名 in 可迭代对象: # 可以是字符串,列表,字典
'''for循环相当于遍历对象里的每个元素'''
# 循环字符串
name = "jenny is my girlfriend"
for i in name:
    print(i)  # 返回字符串里的每一个字符
# 循环列表
name_list = ["jane", "jenny", "jason", "tony"]
for i in name_list:
    print(i)  # 返回列表里的每一个元素
# 循环字典一
msg_list = {"name": "jany", "age": 18}
for i in msg_list:
    print(i)  # 返回字典里的每一个k值
# 由于字典的暴露给外面的只有k值,遍历字典时返回的是每一个k值
# 循环字典二
msg_list = {"name": "jany", "age": 18}
for i in msg_list:
    print(i, msg_list[i])  # 返回字典里每一个k以及k对应的v值

image

range关键字

# range关键字
# 表现方式一:一个参数
for i in range(10):  # 从0开始,从9结束,顾头不顾尾
    print(i)
# 表现形式二:两个参数
for i in range(1,10):  # 从0开始,从9结束,顾头不顾尾
    print(i)
# 表现形式三:三个参数
for i in range(0, 100, 10):  # 从0开始,从90结束,顾头不顾尾,第三个参数代表等差值
    print(i)
"""
我们平时在网上看的热搜榜,每一页的数量就可以用这个生成
"""
# 练习(以豆瓣TOP250为例)
db_url = "https://movie.douban.com/top250?start=%s&filter="
for i in range(0,251,25):
    print(db_url % i)
'''
https://movie.douban.com/top250?start=0&filter=
https://movie.douban.com/top250?start=50&filter=
https://movie.douban.com/top250?start=100&filter=
https://movie.douban.com/top250?start=150&filter=
https://movie.douban.com/top250?start=200&filter=
https://movie.douban.com/top250?start=250&filter=

'''
# range在不同的python版本中本质不同
在python2.x中,range代表的是生成一个列表
xrange代表的是迭代器  # 每次从里面取出一个数
在python3.x中,range代表的是迭代器  # 每次从里面取出一个数
# python2.x中的xrange和python3.x中的range用法性质一样

image

for+break

# 在for循环中,break的作用也是结束当前循环
for i in range(10):
    if i == 4:
        break
    print(i)

image

for+continue

# 在for循环中,continue的作用也是结束本次循环,继续下次循环
for i in range(10):
    if i == 4:
        continue
    print(i)

image

for+else

# for+else
for i in range(10):
    print(i)
    break
else:
    print("给爷爬")

for循环嵌套

# for循环的嵌套和whlile一样
# for 嵌套循环
for i in range(1, 5):
    for j in range(1, 5):
        print(i, j, end=" ")
    print()

image

数据类型内置方法

整型(int)内置方法

# 整型(int)内置方法
# 1.数据类型转换
name = "123"
name = int(name)
print(type(name))  # <class 'int'>
'''
int转换数据类型只能对数字且是整数的情况进行转换
无法对小数进行转换
'''
# 2.进制转换
print(bin(100))  # 0b1100100 将十进制转换为二进制
print(oct(100))  # 0o144 将十进制转换为八进制
print(hex(100))  # 0x64 将十进制转换为十六进制
print(int('0b1100100', 2))  # 100
print(int('0o144', 8))  # 100
print(int('0x64', 16))  # 100

浮点型(float)内置方法

# 数据类型转换
name = '123'
name = float(name)  # 123.0
print(name)
print(type(name))  # <class 'float'>
'''
浮点型在做数据类型转换时,只能对纯数字进行转换
'''

字符串(str)内置方法

# 1.数据类型转换
# 转换数字
name = 123
name = str(name)
print(name)
print(type(name))  # <class 'str'>
# 转换列表
name = ["jenny", "jane", "john", "jason"]
name = str(name)
print(name)
print(type(name))  # <class 'str'>
# 转换字典
name = {'name': 'jenny', 'age': 18}
name = str(name)
print(name)
print(type(name))  # <class 'str'>
# 2.切片操作
# 索引取值
name = "please take my bag"
print(name[2])  # e
# # 切片操作
name = "please take my bag"
print(name[0:5])  # 'please'
# 步长
name = "please take my bag"
print(name[0:10:2])  # 'pes a'
name = "please take my bag"
print(name[-5:-1:2])  # 'yb'
'''
1.切片操作一样是顾头不顾尾,
2.切片里的第三个参数在这里叫步长,默认为1,按顺序切,
步长为n就是隔(n-1)个字符切一次,在字符串里,空格也代表一个字符
3.切片操作支持负索引,也就是从后开始数,但是取值一律按从左往右的顺序
4.步长不能为负,否则为引起方向冲突
'''
# 3.去除字符串首尾指定的字符
# len()方法是计算字符转里字符的个数,也可以用来计算列表的长度
# 不指定字符,默认移除空格
name = '    jenny    '
print(len(name))    # 13
print(len(name.strip()))  # 5  默认移除首尾的空格
# strip去除指定符号
name = '@@@jenny@@@'
print(name)  # @@@jenny@@@
print(name.strip('@'))  # jenny
'''
除strip外,还有 lstrip (去除左边的字符),rstrip(去除右边的字符)
'''
username = input('username>>>:').strip()
password = input('password>>>:').strip()
if username == 'jenny' and password == 123:
    print("老板里面请")
else:
    print("给爷爬")
# 4.按照指定字符切割字符串split
name = 'jenny john jason'
print(name)  # jenny john jason
print(name.split(' '))  # ['jenny', 'john', 'jason']
# 限定切割数
name = 'jenny|john|jason'
print(name.split('|', maxsplit=1))  # ['jenny', 'john|jason']
'''
1.split切割后的数据会自动转换成列表
2.此外还有lsplit(从左边开始切),rsplit(从右边开始切)
'''

image

posted @ 2021-11-05 20:39  PyLy  阅读(118)  评论(0)    收藏  举报

念两句诗

入我相思门,知我相思苦,长相思兮长相忆,短相思兮无穷极。
【唐代】李白