Hzangyao

导航

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'] 只切割一次

 

posted on 2021-12-28 15:09  Hzangyao  阅读(72)  评论(0编辑  收藏  举报