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值'))))