python第五天练习函数与迭代

文章目录

第一题

在这里插入图片描述

d={'Adam':95,'Lisa':85,'Bart':59,"Paul":74}
sum=0
print(d.items())
for keys,value in d.items():
    sum=sum+value
    print(keys,':',value)#以逗号分隔打印
print('平均分为:',sum/len(d))

第二题

在这里插入图片描述

def  chazhao(L):
    if  type(L)!=list:#或者用L!=[]判断它不为空列表
        return (None,None)
    else:
        max=L[0]#初始的最大与最小都为列表中第一个元素
        min=L[0]
    for  i  in range(1,len(L)) :
    # 循环目的应该是获取索引,而range也正好从1开始,也跳过L[0]本身了所以len(L),而range正好不包括最后一个,也不超过列表索引  
        if  L[i]>max:
            max=L[i]
        elif L[i]<min:
            min = L[i]
    return  min,max

f=chazhao([4,5,1,10])
print(f)

法二:

def  chazhao(L):
    if  type(L)!=list:#或者用L!=[]判断它不为空列表
        return (None,None)
    else:
        max=L[0]#初始的最大与最小都为列表中第一个元素
        min=L[0]

    #for i+1 in range(len(L)):#记住for循环中不可以对临时变量操作如i+1
    # 非要用i+1的话
    for i in range(len(L)-1):#这种会溢出,若列表长度为5,则遍历到4时,
        # L[i+1]=L[5]因为列表5个元素,0索引开始,所以最大为L[4],这会超出索引,
        #所以改为len(L)-1,而不是len(L),又因为range不包括结束,所以可以了

        if  L[i+1]>max:
            max=L[i+1]
        elif L[i+1]<min:
            min = L[i+1]
    return  min,max

f=chazhao([4,5,1,10])
print(f)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值