1.写一个匿名函数,判断指定的年是否是闰年
x = lambda x=2019:(x % 4 == 0 and x % 100 != 0) or x % 400 == 0
print(x())
print(x(1900))
print(x(2000))
print(x(2012))
2.写一个函数将一个指定的列表中的元素逆序( 如[1, 2, 3] -> [3, 2, 1])(注意:不要使用列表自带的逆序函数)
def zy_reverse_1(list1:list):
for index in range(len(list1) // 2):
list1[index],list1[-index - 1] = list1[-index - 1],list1[index]
return list1
def zy_reverse_2(list1:list):
new_list = list1[-1::-1]
return new_list
a = ['a','b','c','d']
b = [1,9,2,8,4,7,6,0]
c = [1,'a',4,'g']
print(zy_reverse_1(a))
print(zy_reverse_1(b))
print(zy_reverse_1(c))
print(zy_reverse_2(a))
print(zy_reverse_2(b))
print(zy_reverse_2(c))
3.写一个函数,获取指定列表中指定元素的下标(如果指定元素有多个,将每个元素的下标都返回)
例如: 列表是:[1, 3, 4, 1] ,元素是1, 返回:0,3
def zy_index(list1:list,item):
result = ''
for index in range(len(list1)):
if list1[index] == item:
result += str(index) + ','
if len(result) == 0:
return -1
else:
return result[:-1]
print(zy_index([1, 2, 3, 'a', 'b', 'c', 1, 2, 3, 1], 1))
print(zy_index([1, 2, 3, 'a', 'b', 'c', 1, 2, 3, 1], '1'))
4.写一个函数,能够将一个字典中的键值对添加到另外一个字典中(不使用字典自带的update方法)
def zy_update(dict1:dict,dict2:dict):
for key in dict2:
dict1[key] = dict2[key]
return dict1
dict1 = {'a':1,'b':2,'c':3}
dict2 = {'d':4,'e':5}
print(zy_update(dict1,dict2))
5.写一个函数,能够将指定字符串中的所有的小写字母转换成大写字母;所有的大写字母转换成小写字母(不能使用字符串相关方法)
def zy_swapcase(str1:str):
for index in range(len(str1)):
char = str1[index]
if 'a' <= char <= 'z':
new_char = chr(ord(char) - 32)
str1 = str1[:index] + new_char + str1[index + 1:]
elif 'A' <= char <= 'Z':
new_char = chr(ord(char) + 32)
str1 = str1[:index] + new_char + str1[index + 1:]
return str1
print(zy_swapcase('as12DFGas0'))
6.实现一个属于自己的items方法,可以将自定的字典转换成列表。列表中的元素是小的列表,里面是key和value (不能使用字典的items方法)
例如:{'a':1, 'b':2} 转换成 [['a', 1], ['b', 2]]
def zy_items(dict1:dict):
new_list = []
for key in dict1:
value = dict1[key]
new_items = [key,value]
new_list.append(new_items)
return new_list
a = {'a':1,'b':2,'c':3,'d':4}
print(zy_items(a))
7.写一个函数,实现学生的添加功能:
stu_list = []
count = 1
choice = 1
def zy_add_stu(name:str,age:int,phone:str,number:str):
stu_dict = {}
number = number.zfill(4)
stu_dict['姓名'] = name
stu_dict['年龄'] = age
stu_dict['电话'] = phone
stu_dict['学号'] = number
global stu_list
stu_list.append(stu_dict)
return stu_list
while choice == 1:
print('===================添加学生====================')
zy_add_stu(input('输入学生姓名:'),int(input('输入学生年龄:')),input('输入学生电话:'),str(count))
print('======添加成功!')
for item in stu_list:
info = str(item)[1:-1]
print(info)
print("""
===============================================
1.继续
2.返回
""")
choice = int(input('请选择:'))
count += 1
print('谢谢使用,再见!')