while分支结构、for循环结构和数据类型的内置方法
while continue
continue可以用于终止当次循环,continue下面的代码块就不会执行了,重新从最上面开始执行,我们打印一个
从0-9的数字,中间去掉3,用for循环可以很简单的实现
while else循环体,当所有while循环执行完了之后,且没有主动认为去终止循环的情况下,可以正常执行else中的代码块
for循环
for循环能实现的程序,while循环都能实现,只是有时候for循环更简单,取值更方便,下面我们用while和for循环来分别一 一打印列表里面的元素
while循环的
for循环的
由此可见,for循环取值要更简单,下面我们来看看for i in range()
第一种玩法:只写一个参数的情况,代表从0开始的有序数字,顾头不顾尾,默认从0开始取值,到9
for i in range(10):
print(i)
第二种玩法: 写两个参数,可以自定义起始位置,顾头不顾尾,就是从参数3开始取值,一直到9
for i in range(3,10):
print(i)
第三种玩法:写三个参数,第三个参数代表步长,顾头不顾尾,从0开始取值,每隔十个取值,分别是0 10 20 30 40 50 60 70 80 90
for i in range(0,100,10):
print(i)
实践案例中,推荐使用for循环写,这样就不会出现死循环,while如果没有设置计数器之类或者条件判断一直成立就会出现死循环
还有一些for...break ,for...continue,
输出0-9的数字,会在3的时候中断循环
for i in range(10):
if i == 3:
break
print(i)
输出0-9的数字,会在3的时候中断本次循环,然后继续从上往下执行,结果就是输出0-9的整数除去3
for i in range(10):
if i == 3:
continue
print(i)
数据类型的内置方法
进制之间的转换
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({'username': 'ly', 'age': 18}))
print(str((1, 2, 3)))
print(str({1, 2, 3}))
print(str(True))
s = 'helloworldhelloworldadasdsadsadhelloworldhelloworldhelloworld'
支持索引取值
print(s[4])
print(s[-1])
print(s[-4])
支持切片操作
print(s[1:4]) # 顾头不顾尾
print(s[1:9:3]) # 顾头不顾尾, 第三个参数代表步长
# 计算字符串长度的
# 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'] 只切割一次