案例1:
编写一个函数calcluate,可以接收任意多个数,返回的是一个元组,
元组的第一个值为所有参数的平均值,第二个值是大于平均值的所有数
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))
运行:
案例2:
1.随机生成100个卡号:
卡号以6102009开头,后面3位依次是 (001 , 002, 003, 100)
2.生成关于银行卡号的字典,默认每个卡号的初始密码为“redhat”;3.输出卡号和密码信息, 格式如下:
卡号 密码
6102009001 redhat
import random
li = []
for item in range(100):
li.append(('6102009%.3d' %random.randint(1,100)))
d_dict={}.fromkeys(li,'redhat')
print('卡号 密码')
for i,v in d_dict.items():
print(i,v)
运行:
案例3:
编写一个函数,接收字符串参数,返回一个元组,‘ehllo WROLD‘
元组的第一个值为大写字母的个数,第二个值为小写字母个数。
def fun(x):
upper_count=0
lower_count=0
for item in x:
if item.isupper():
upper_count+=1
elif item.islower():
lower_count+=1
else:
continue
return upper_count,lower_count
a=fun('ehllo WROLD')
print(a)
运行:
案例4:
编写函数,接收一个列表(包含30个1~100之间的随机整形数)和一个整形数k, 返回一个新列表.
函数需求:
- 将列表下标k之前对应(不包含k)的元素逆序;
- 将下标k及之后的元素逆序;
[1,2,3,4,5] 2 [2,1,5,4,3]
def fun(li,k):
if k<0 or k>len(li):
return 'error'
return li[:k][::-1]+li[k:][::-1]
print(fun([1,2,3,4,5],2))