2021-05-22
python学习第二篇日志
1.while循环、for循环的区别:
while循环语法格式:
初始化语句
while Boolean表达式:
循环体
可迭代语句
形如:
my_list = [23 ,42 ,23 ,43 ,56]
i = 0
while i < len(my_list):
print(my_list[i])
i += 1
for循环语法格式如下:
for 变量 in 范围|列表|字典|元素等可迭代对象:
循环体
(1)对于变量不用初始化,每次循环都会自动为它赋值;
(2)对于范围|列表等可迭代对象指的是,这个对象包含_iter_方法,且返回值对象具有next()方法
列如:
#实现元素的阶乘
result = 1
for i in range(1,10):
result = result*i
print(result)
实战:
"""
循环条件为真的时候,执行循环体的内容
"""
#初始化语句
i = 1
#循环表达式
while i <= 5:
#循环语句,也叫循环体
print("I Love xiaojiayu!")
#迭代语句
i = i + 1
print("结束循环")
"""
循环遍历元组、列表的索引来遍历元素
"""
print("------while当型循环打印列表元素------")
my_list = ['张三' , '李四' ,'王五' ,'老刘']
i = 0
while i < len(my_list):
print(my_list[i])
i += 1
print("-----元组tuple遍历------")
my_tuple = ('张三' , '老婆' ,'跟别人' ,'跑路了!')
j = 0
while j < len(my_tuple):
print("元组的元素是:",my_tuple[j])
j += 1
print("元组列表打印结束")
"""
小程序,整除3的放一个列表当中,整除3余1的放一个列表,整除3余2的单独放一个列表
"""
sc_list = [12 , 32 ,33 ,34 ,35 ,36 ,37 ,38 ,39 ,40]
#存放整除3的元素
sc_list01 = []
#存放整除3余数为1的元素
sc_list02 = []
#存放整除3余数为2的元素
sc_list03 = []
i = 0
while i < len(sc_list):
if sc_list[i] % 3 == 0:
sc_list01.append(sc_list[i])
if sc_list[i] % 3 == 1:
sc_list02.append(sc_list[i])
if sc_list[i] % 3 == 2:
sc_list03.append(sc_list[i])
i += 1
print("整除3余数为0的列表sc_list01",sc_list01)
print("整除3余数为1的列表sc_list02",sc_list02)
print("整除3余数为2的列表sc_list01",sc_list03)
"""
for in 循环用于用于遍历字典、范围、列表等可迭代对象包含大的元素
用法:for 变量 in 字符串|范围|集合等
"""
my_dist = [['张三',26],['李四',25],['王五',32],['大一',19],['大二',21]]
my_dist02 = dict(my_dist)
print(my_dist02)
for i in my_dist02:
print(i)
my_dist02
print('循环打印出字典元素')
"""
for循环实现数字的阶乘
"""
result = 1
for i in range(1,5):
result *= i
print("result的值是:",result)
"""
使用for-in循环体循环输出元组元素
"""
my_tuple = ('张三', '李四', '王五' ,'张麻子' ,90 ,120)
for i in my_tuple:
print("元组元素依次是:",i)
#对列表里面的数字进行相加,并且求取平均值
my_list = ['张三' , '王五' ,'老六' ,19 ,29 ,40 ,18.9 ,29.8 ,49.1]
result = 0
count = 0
for i in my_list:
if isinstance(i , int) or isinstance(i , float):
result += i
count += 1
avg = result / count
print("my_list列表里面的数字总和是:",result)
print("avg的均值是:",avg)
print("最后一个元素出栈是:",my_list.pop())
#根据索引访问列表元素
my_list = ['张三' , '王五' ,'老六' ,19 ,29 ,40 ,18.9 ,29.8 ,49.1]
for i in range(0,len(my_list)):
# print("索引是:",i,"元素值是:",my_list[i])
print("第%d个元素是%s"%(i,my_list[i]))
"""
循环遍历字典的key-value对,返回字典所有的key值,返回字典所有的value的列表
"""
my_dict = {"数学": 90 ,"语文": 110 ,"英语": 108,"物理": 87}
my_dict01 = {}
my_dict02 = []
my_dict03 = []
#循环遍历键值对key-value
for i in my_dict.items():
print(i)
# my_dict01.append(i)
#循环遍历value值
for i in my_dict.values():
print(i)
my_dict02.append(i)
#循环遍历key值
for i in my_dict.keys():
print(i)
my_dict03.append(i)
print("my_dict01的元素有:",my_dict01)
print("my_dict02的元素有:",my_dict02)
print("my_dict03的元素有:",my_dict03)
"""
统计列表当中每个元素出现的次数
"""
my_list = [232 ,232 ,233 ,323 ,323 ,323 ,233, 235, 267, 223, 254]
my_dict = {}
for i in my_list:
#判断元素i是否存在列表当中,存在就对出现次数加1
if i in my_dict:
my_dict [i] += 1
else:
my_dict [i] = 1
#循环打印出列表的key,value值,对返回的元组进行解压
for key01,count in my_dict.items():
print("元素%s 出现的次数是:%s"%(key01,count))