循环与基本数据类型的内置方法
1. 循环
1. while + else循环
当while循环条件不满足,并且没有break主动退出的情况下,就会执行else中的子代码块
语法结构:
while + 条件:
循环体代码
else:
循环体代码条件不满足,并且不被主动退出时,执行的子代码块

while与else 代码示例 count = 1 while count < 3: print(count) count += 1 else: print('while循环已结束')
2.
while嵌套示例 data = ['jason|123', 'tony|123', 'tank|123'] count = 1 flag = True while flag: input_username = input('请输入用户名: ').strip() input_password = input('请输入密码: ').strip() for name_pwd in data: username, pwd = name_pwd.split('|') if username == input_username and pwd == input_password: while flag: input_print = input('请输入执行的命令: ').strip() if input_print == 'exit': flag = False else: print(input_print) if flag: print('账号密码错误,还有%s次机会' % (3 - count)) count += 1 if count == 4: is_again = input('是否继续:y/n') if is_again == 'y': count = 1 else: break
3. 死循环
死循环就是永远无法结束的循环并且一直占用CPU工作

死循环示例 count = 1 while True: count += 1 count *= 100
4.
range其实一个迭代器] 用于产生一个数据集合 但是节省空间
# 用法1 括号内只写一个数字 默认从0开始 顾头不顾尾 for i in range(10): print(i) >>>0 >>>1 >>>2 >>>3 >>>4 >>>5 >>>6 >>>7 >>>8 >>>9 # 用法2 括号内写两个数字 自定义起始位置 顾头不顾尾 for i in range(1, 10): print(i) >>>1 >>>2 >>>3 >>>4 >>>5 >>>6 >>>7 >>>8 >>>9 # 用法3 括号内写三个数字 第三个数字表示的是等差数列的差值 默认情况下是1 for i in range(1, 10, 2): print(i) >>>1 >>>3 >>>5 >>>7 >>>9

5.
while循环可以做到,那么for循环可以做到的事情,但是for循环语法更加简单 ps:一般情况下涉及到循环取值的时候 都会考虑使用for循环而不是while循环
语法结构:
for 变量名 in 循环对象: ps:循环对象可以为字符串,元组,列表,集合,字典
for循环的循环体代码
注: 每次执行循环都会将变量名指向新的内存空间,并且会将循环对象中的一个元素赋值给变量名

for循环示例 # 如果for循环,循环对象是字符串,那么会将字符串中每个字符,一个个取出 for i in 'lisi': print(i) >>>'l' >>>'i' >>>'s' >>>'i' # 如果for循环的循环对象是列表,那么会将列表中每个元素逐一取出 index_list = [1, 2, 3, 4] for index in index_list: print(index) >>>1 >>>2 >>>3 >>>4 # 如果for循环的循环对象是字典,那么会将字典的key值逐一取出,但是value无法直接获取 userinfo_dict = {'username': "jason", 'age': 18, 'gender': 'male'} for i in userinfo_dict: print(i) >>>username >>>age >>>gender # 如果for循环的循环对象是元组,那么会将元组中每个元素逐一取出 for i in (1, 2, 3, 4, 5): print(i) >>>1 >>>2 >>>3 >>>4 >>>5 # 如果for循环的循环对象是集合,那么会将集合中每个元素逐一取出 for i in {11, 22, 33, 44, 55}: print(i) >>>11 >>>22 >>>33 >>>44 >>>55 # 循环字典与集合内部的元素都是无序的,但是使用pycharm,那么会发现字典中循环出来是按顺序的,因为字典比较热门,所以pycharm对字典输出进行了优化
# for+break break结束本层for循环 与while + break用法一致 示例 for i in [1, 2, 3, 4, 5]: if i == 4: break print(i) # for+continue continue结束本次for循环 直接开始下一次 与while + continue用法一致 示例 for i in ['tony', 'tank', 'egon', 'alex']: if i == egon: continue print(i) # for+else for循环正常结束之后运行else子代码 与while + else用法一致 示例 for i in [1, 2, 3, 4, 5]: print(i) else: print('循环结束')

5.数据类型的内置方法
5.1 int整型的内置方法
1.类型转换 能将字符串转换成int类型(字符串必须是纯数字的字符串) 示例: print(int('11')) >>>11 print(int('11.1')) >>>报错 因为此字符串除了数字还有.号 2.进制数转换
示例:
# 将其他机制转换成十进制 print(int('0b110010', 2)) >>>50 print(int('0o62', 8)) >>>50 print(int('0x32', 16)) >>>50

5.2 float浮点型内置方法
类型转换 print(float('11.11')) >>>11.11 # float类型的类型转换能转换纯数字与.号的字符串 print(float('11')) >>>11.0 # 当类型转换的字符串是存数字组成,那么转换后,会在末尾增加.0,代表是浮点型
5.3 str
1.类型转换 # 字符串的类型转换是可以转换所有基本数据类型 print(str(11)) >>>'11' print(str(11.11)) >>>'11.11' print(str([1, 2, 3, 4])) >>>'[1, 2, 3, 4]' print(str({'name': 'jason'})) >>>"{'name': 'jason'}" print(str((1, 2, 3, 4))) >>>'(1, 2, 3, 4)' print(str({1, 2, 3, 4})) >>>'{1, 2, 3, 4}' print(str(True)) >>>'True' text = 'hello world' # 1.索引取值 print(text[4]) >>>'o' # 2.切片操作 # 顾头不顾尾,只能获取头部,但是尾部的索引是获取不到的 print(text[1:4]) >>>'ell' # 3.步长 则为规定的数字-1就是间隔数 print(text[1:9:1]) # 第三个参数是步长 默认是1 依次获取 >>>'ello wor' # print(text[2:9:2]) # 间隔一个取一个 >>>'lowr' # print(text[2:9:3]) # 间隔两个个取一个 >>>'l r' # 索引取切片扩展 # 第三个参数还可以控制索引的方向 如果为负数,则是从右往左,默认为从左往右 # print(text[-1] # 如果第一个与第二个参数为负数,那么就是从左边开始取值 >>>'d' # print(text[-1:-5:-1]) >>>'dlro' # print(text[-5:-1]) >>>'worl' # 4.统计字符串中字符的个数 print(len(text)) >>>11 # 6.移除字符串首位指定的字符(使用频率较高) name = ' lisi ' res = name.strip() # 默认移除字符串首尾的空格,如果填写了单词,那么就会移除你填写的单词 print(res) >>>'lisi' # 7.按照指定的字符切割字符串 # 字符串被切割完之后,形成的是一个列表 data = 'jason|123|DBJ' print(data.split('|')) >>>['jason', '123', 'DBJ']



浙公网安备 33010602011771号