1.1需求:计算数字范围中所有偶数
输入开始和结束值(不包含结束值也就是不用+1,得到了所有偶数)
偶数:能够被2所整除的整数,是2的倍数
输入:begin= 4 end = 15 结果就是[4,6,8,10,12,14]
def shuzifanwei(aqishi,bjieshu):
liebiaojieguo = [] #列表是空的
for shuzi in range(aqishi,bjieshu):
if shuzi %2 == 0:
liebiaojieguo.append(shuzi) #列表里添加数字
return liebiaojieguo
a1=shuzifanwei(4,15)
print(f'计算数字范围中的偶数是{a1}')
# 第二种解决办法
aqishi = 4
bjiesh=15
d=[shuzi for shuzi in range(aqishi,bjiesh) if shuzi%2 == 0]
print(d)
结果如下:
计算数字范围中的偶数是[4, 6, 8, 10, 12, 14]
[4, 6, 8, 10, 12, 14]
1.2需求:移除列表中的多个元素
输入:原始列表[3,5,7,9,11,13]-> a
移除元素:[7,11] ->b
返回:[3,5,9,13]
def yichuliebiao(a,b):
for liebiaolimiandshuzi in b: #移除元素的列表就是遍历的表
a.remove(liebiaolimiandshuzi)
return a
a=[3,5,7,9,11,13]
b=[7,11]
c=yichuliebiao(a,b)
print(f'移除列表中的元素是{c}')
# 第二种方法:
a1=[3,5,7,9,11,13]
b1=[7,11]
liebiao = [bianliliebiaolimiandshuzi for bianliliebiaolimiandshuzi in a1 if bianliliebiaolimiandshuzi not in b1 ]
print(liebiao)
结果如下:
移除列表中的元素是[3, 5, 9, 13]
[3, 5, 9, 13]
1.3需求:对列表去重 重复元素的原始列表:[10,20,30,10,20] ->a 返回:[10,20,30]
def liebiaoquchong(a):
xindliebiao= []
for yuansu in a:
if yuansu not in xindliebiao:
xindliebiao.append(yuansu)
return xindliebiao # 空格缩进**
a=[10,20,30,10,20]
d=liebiaoquchong(a)
print(f'对列表去重后的结果是{d}')
# 第二种方法
a=[10,20,30,10,20]
a2 = (list (set(a))) #集合自带去重功能
print(a2)
结果如下:
对列表去重后的结果是[10, 20, 30]
[10, 20, 30]
1.4需求:学生成绩格式排序
a=[
{'sno':101,'sname':'小张','sgrade':88}
{'sno':102,'sname':'小王','sgrade':77}
{'sno':103,'sname':'小李','sgrade':99}
{'sno':104,'sname':'小赵','sgrade':66}
]
a=[
{'sno':101,'sname':'小张','s1':88},
{'sno':102,'sname':'小王','s1':77},
{'sno':103,'sname':'小李','s1':99},
{'sno':104,'sname':'小赵','s1':66},
]
print(f'原样的列表是{a}')
# 排序
a1 = sorted(a,key=lambda x: x['s1'] ) # x:列表内的每一个元素 x['s1']:元素本身要比较k的value
print(f'排序后的列表是{a1}')
# 降序排列
a2 = sorted(a,key= lambda x: x['s1'],reverse= True)
print(f'降序排列后的结果是{a2}')
结果如下:
原样的列表是[{'sno': 101, 'sname': '小张', 's1': 88}, {'sno': 102, 'sname': '小王', 's1': 77}, {'sno': 103, 'sname': '小李', 's1': 99}, {'sno': 104, 'sname': '小赵', 's1': 66}]
排序后的列表是[{'sno': 104, 'sname': '小赵', 's1': 66}, {'sno': 102, 'sname': '小王', 's1': 77}, {'sno': 101, 'sname': '小张', 's1': 88}, {'sno': 103, 'sname': '小李', 's1': 99}]
降序排列后的结果是[{'sno': 103, 'sname': '小李', 's1': 99}, {'sno': 101, 'sname': '小张', 's1': 88}, {'sno': 102, 'sname': '小王', 's1': 77}, {'sno': 104, 'sname': '小赵', 's1': 66}]
1.5需求:求圆的面积
输入半径,返回圆的面积
"""
需求:求圆的面积
输入半径,返回圆的面积
"""
import math
print(math.pi) #已知Π的
def yuandbanjing(r):
return round(math.pi * r * r ,2) #round 数字 精确到小数点后两位
o=yuandbanjing(2)
print(o)
结果如下:
3.141592653589793
12.57
由此可得到案例中的关键字:增加(append) 移除(remove) 排序(sort) 降序reverse=True
日期时间:datetime 内置函数排序(sorted()) math导Π包
math.pi是已知Πd