【python的流程控制之循环结构与基本数据类型的内置方法】
循环结构:反复做同一件事情
while循环
"""
语法结构
while 条件:
条件成立之后执行的循环体代码
1.先判断条件是否成立 如果成立则执行循环体代码
2.循环体代码执行完毕后 再次判断条件是否成立 如果成立则继续执行循环体代码 如果不成立则跳出循环
"""
while True:
# 1.获取用户的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 2.校验/判断用户名和密码是否正确
if username == 'jason' and password == '123':
print('登录成功')
else:
print('用户名或密码错误')
while 和break
# break是用于直接结束本层循环
"""
break只能结束所在的那一层循环
"""
while True:
# 1.获取用户的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 2.校验/判断用户名和密码是否正确
if username == 'jason' and password == '123':
print('登录成功')
break # 结束本层循环
else:
print('用户名或密码错误')
print('今天真有意思!!!')
whlie 和continue
continue只能结束本次循环,直接开始下一次循环
count = 1
while count < 11:
if count == 4:
count += 1
continue # 结束本次循环 开始下一次循环
'''直接跳到条件判断的地方重新执行'''
print(count)
count += 1
while和else
只要为了没有被break主动结束的情况下,执行完循环体的代码后会执行else的代码
'''
语法结构:
while 条件:
条件成立后执行的循环体
else:
循环体执行完后执行的代码
'''
count = 1
while count < 10:
if count == 4:
# break # 如果有break则不执行else
print(count)
count += 1
else:
print('执行到我了!!!')
while 死循环
死循环有些时候会极度的损坏电脑的性能,可能还会破坏电脑硬件。
count = 10
while True:
count *= 1
while嵌套
# 语法结构
"""
while 条件:
while 条件:
while 条件:
循环体
..... # 可以多个嵌套
"""
# 登录功能
flag = True
while flag:
username = input('username>>>:')
password = input('password>>>:')
if username == 'jason' and password == '123':
print('登录成功')
while flag:
cmd = input('请输入您的指令>>>:')
if cmd == 'q':
print('下次光临')
flag = False
print('正在执行您的指令:%s' % cmd)
else:
print("用户名或密码错误")
for循环
for循环的能做到的事情while循环都可以做到,但是for循环的语法更加简单,所以使用更频繁。
"""
语法结构
for 变量名 in for循环对象: # 字符串、列表、字典、元组、集合
for循环的循环体代码
每次执行都会将循环对象中的一个元素赋值给变量名
ps:针对for循环语法结构中的变量名 也应该做到见名知意
如果真的没有合适的名字可以使用常用的变量名i、j、k、v、num、item...
"""
# 打印数字0-5
# while方法
count = 0
while count < 6:
print(count)
count += 1
# for 方法
for i in range(6):
print(i)
for k in {'name': 'jason', 'age': 15}: # for 循环默认取的是字典的key赋值给变量名k
print(k)
# 循环列表
# for 循环
user_list = ['jason', 'tank', 'lili', 'la']
for i in user_list:
print(i)
# # while 循环
num = 0
while num < 4:
print(user_list[num])
num += 1
# 循环字典
user_dict = {'name': 'jason', 'age': 18, 'sex': '男'}
for i in user_dict:
print(i)
# 循环元祖
a = (1, 2, 3, 6)
for i in a:
print(i)
range
range方法在python2和python3中有所区分
在python2中range是直接产生一个列表 元素很多的情况下比较占用空间
在python2中有一个xrange 其实就是python3里面的range
在python3中range相当于哆啦A梦的口袋 不占空间但是可以取出很多数据
在python3中就只有一个range了
# range语法
for 变量名 in range:
# 一个参数 从0 开始 99 结束,顾头不顾尾
for i in range(100):
print(i)
# 两个参数 自定义起始位置 也是顾头不顾尾
for i in range(2, 100):
print(i)
# 三个参数 开始,结束,步长 默认步长是1
for i in range(2, 100, 2):
print(1)
for 和break
break的用法和while循环一致,结束本层循环
# for和 break
for i in range(10):
if i == 5:
break
print(i)
for和continue
continue的用法也和while循环一致,结束本次循环,开始下一次循环
# for和continue
for i in range(10):
if i == 5:
continue
print(i)
for和else
只要为了没有被break主动结束的情况下,执行完循环体的代码后会执行else的代码
# for和else
for i in range(10):
# if i == 5:
# # break
print(i)
else:
print('轮到我啦')
for循环的嵌套
# 语法
"""
for 变量名 in for循环对象:
for 变量名 in for循环对象:
"""
# 九九乘法表
for i in range(1, 10):
for j in range(1, i + 1):
print('%s*%s=%s' % (i, j, i * j), end=' ')
print()
基本数据类型的内置 方法
查看数据类型的内置方法
可以借助于编程软件的自动提示 采用句点符快速查看
整型 int
作用:
- 类型转换
- 进制数转换
# 类型转换
"""
int方法只能转换纯数字的字符串
"""
password = '123' # srt类型
print(password, type(password))
password = int(password) # 转换类型 变成int
print(password, type(password))
# 进制数转换
# 十进制转二进制
print(bin(100)) # 0b1100100
# 十进制转八进制
print(oct(100)) # 0o144
# 十进制转十六进制
print(hex(100)) # 0x64
# 将其他进制数转换成十进制
print(int('0b1100100', 2)) # 2是要转换的进制数
print(int('0o144', 8)) # 8是要转换的进制数
print(int('0x64', 16)) # 16是要转换的进制数
浮点型float
作用:
1.类型转换
float浮点型
1.类型转换
res = float('11.11')
print(res, type(res)) # 11.11
res = float('11')
print(res, type(res)) # 11.0
float('abc') # 错误
字符串str
作用
类型转换
srt可以转换所有基本数据类型
"""
类型转换
srt可以转换所有基本数据类型
"""
print(str(11), type(str(11))) # 整型转字符串
print(str(11.33), type(str(11.33))) # 浮点型转字符串
print(str([1, 2, 3, 4]), type(str([1, 2, 3, 4]))) # 列表转字符串
print(str({'name': 'jason'}), type(str({'name': 'jason'}))) # 字典转字符串
print(str((11, 22, 33)), type(str((11, 22, 33)))) # 元祖转字符串
print(str({11, 33, 55}), type(str({11, 33, 55}))) # 集合转字符串
print(str(True), type(str(True))) # 布尔型转字符串
1 = 'hello world'
# 1.索引取值
print(s1[0])
# 2.切片操作
print(s1[2:4]) # 顾头不顾尾
# 3.步长
print(s1[2:9:1]) # 第三个参数是步长 默认是1 依次获取
print(s1[2:9:2]) # 间隔一个取一个
# 索引取切片扩展
print(s1[-1]) # 获取最后一个字符
print(s1[-1:-5:-1]) # dlro 第三个参数还可以控制索引的方向
print(s1[-5:-1]) # worl
# 4.统计字符串中字符的个数
print(len(s1)) # 11
# 5.成员运算
print('ll' in s1)
# 6.移除字符串首位指定的字符(使用频率较高)
name = ' jason '
print(len(name))
res = name.strip() # 默认移除字符串首尾的空格


被折叠的 条评论
为什么被折叠?



