今日内容概要
作业讲解
while+contine
while+else
死循环
foy循环
数据类型的内置方法(掌握)
今日内容详细
作业讲解
# 猜年龄
1. 普通要求:猜年龄,猜对了直接结束,猜错了,给三次机会
2. 进阶要求:猜错三次,询问用户是否继续猜,如果用户输入y,继续猜,否则,退出
# 写作业,先写主体功能,在写附加功能
# 1. 定义一个真实年龄
写作业,先写主体功能,在写附加功能
while+continue
使用循环打印出0-9的数字
# 使用循环打印出0-9的数字,但是不打印3
'''continue结束本次循环,碰到continue,会立马执行循环条件的判断'''
while+else
一般情况下,else与if连用
总结:当没有人为中断循环的时候,会执行else,否则,不走else
for循环
for循环能实现的功能,while循环都可以实现
for的语法更加简洁,取值更方便
# while实现
name_list = ['ly', 'jason', 'tom', 'tony']
# 使用循环,打印出每一个元素
count = 0
while count < 4:
print(name_list[count])
count += 1
for循环
for i in 可迭代对象:字符串,列表,元祖,字典,集合...
#for循环不能写数字
#for in1.123
print(i)
循环 字典暴露的是k
for i in d :里面的i值可以是任意的变量,如果没有好的变量名,一般叫i ,j ,k ,v, item等
range关键字
第一种玩法:只写一个参数的情况,代表从0开始的有序数字,顾头不顾尾
2.第二种,写两个参数可以自定义启示位置,顾头不顾尾
3.方法3,写三个参数,第三个参数代表步长,顾头不顾尾
扩展
打印豆瓣网址
死循环
while True:
print(1)
# 死循环的情况是不能出现的
实际项目中,推荐使用for循环,一般不会造成死循环
for+break
for i in range(10):
if i == 3:
break
print(i)
for+else
无人为终结执行才执行else
for+continue
for循环的嵌套
数据类型的内置方法(重要)
不同数据类型有不同的功能
# 不同的数据类型有不同的功能
视频文件:快进,暂停,后退...
音频:快进,后退,暂停
表格:图形化,公式计算...
1.int
转换类型
只能转换纯数字类型
# 只能转换纯数字
# print(int('123.123'))
# print(int('helloworld'))
# print(int('110'), type(int('110')))
# age = input('')
# age = int(age)
'''方法的表现形式:方法名()'''
# 进制之间的转换
print(bin(13)) # 1101 => 0,1 # 十进制转二进制
print(oct(13)) # 1101 => 0-7 # 十进制转八进制
print(hex(13)) # 1101 => 0-9, a,b,c,d,e,f # 十进制转十六进制
# 记忆:0b开头的代表二进制,0o开头的代表八进制, 0x开头的代表十六进制
print(int('0b1101', 2))
print(int('0o15', 8))
print(int('0xd', 16))
2. float 浮点型
print(float('11.12'), type(float('11.12')))
3. str
# 把其他数据类型转为字符串# print(str(123))
# print(str(11.12))
# print(str([1, 2, 3, 4]))
# print(str({'username': 'ly', 'age': 18}))
# print(str((1, 2, 3)))
# print(str({1, 2, 3}))
# print(str(True))
# s = 'helloworldhelloworldadasdsadsadhelloworldhelloworldhelloworld'
# 支持索引取值
# print(s[0])
# print(s[4])
# print(s[-1])
# print(s[-4])
计算字符串长度的
# print(len(s)) # 重点
strip
# string = ' hello world '
string = '@@@hello world@@@'
# print(string)
# print(string.strip()) # 只取出首尾,中间的不管, 默认就是取出的空格
# print(string.strip('@')) # 只取出首尾,中间的不管, 默认就是取出的空格
# print(string.lstrip('@')) # 只取出左边,中间的不管, 默认就是取出的空格
# print(string.rstrip('@')) # 只取出右边,中间的不管, 默认就是取出的空格
# username = input('请输入用户名:')
# username = username.strip()
# if username == 'ly':
# print('ok')
# else:
# print('error')
split
source_data = 'ly|18|male'
print(source_data.split('|')) # ['ly', '18', 'male'] 重点
print(source_data.split('|', maxsplit=1)) # ['ly', '18|male'] 只切割一次