关于函数的三个案例

01.案例:

编写一个函数cacluate, 可以接收任意多个参数,返回的是一个元组.
元组的第一个值为所有参数的平均值, 第二个值是大于平均值的所
有数.

def cacluate(*args):
    avg = sum(args) / len(args)
    up_avg = []
    for item in args:
        if item > avg:
            up_avg.append(item)
    return avg,up_avg

a = cacluate(1,2,3,4,5,6,7)
print(a,type(a))

在这里插入图片描述

02.案例:

编写一个函数, 接收字符串参数, 返回一个元组,‘ehllo WROLD’
元组的第一个值为大写字母的个数, 第二个值为小写字母个数.

def str(args):
    up = 0
    low = 0
    for item in args:
        if item.isupper():
            up += 1
        elif item.islower():
            low += 1
    return up,low

# print(str('hello EORLD'))
print(str(input('请输入一个句子')))

在这里插入图片描述

03.案例:

编写函数, 接收一个列表(包含30个1~100之间的随机整形数)和一>个整形数k, 返回一个新列表.
函数需求:
- 将列表下标k之前对应(不包含k)的元素逆序;
- 将下标k及之后的元素逆序;
[1,2,3,4,5] 2 [2,1,5,4,3]
[1,2,3,4,5,6,7,8,9] 4 [4,3,2,1,9,8,7,6,5]

import random

list = []
for i in range(30):
    list.append(random.randint(1,100))
print('原列表',list)
def fun(alist,k):
    if k<0 or k>len(alist):
        return 'key应该在0到30之间'
    return alist[:k][::-1] + alist[k:][::-1]

print('转换后',fun(list,int(input('请输入k值'))))

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43511217/article/details/89037105