Python典型实战案例:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值