Day09_Day10_作业

1、编写函数,求1+2+3+…N的和

def n_sum(n): """ 函数功能:求1-n范围内所有正整数的和 :param n:输入最后一个正整数的值 :return:返回所有正整数的和 """ sum1 = 0 for num in range(1,n+1): sum1 += num return sum1print(n_sum(10))

【Day09_Day10_作业】2、编写一个函数,求多个数中的最大值
def max_num(*num): return max(num)print(max_num(1,2,3,4,5))

3、编写一个函数,实现摇骰子的功能,打印N个骰子的点数和
import random def n_sum(n): sum1 = 0 for i in range(n): sum1 += random.randint(1,6) return sum1print(n_sum(5))

4、编写一个函数,交换指定字典的key和value
def new_dict(): dict1 = {'a':1, 'b':2, 'c':3} dict2 = {} for i in dict1: dict2[dict1[i]] = i return dict2print(new_dict())

5、编写一个函数,提取指定字符串中所有的字母,然后拼接在一起产生一个新的字符串
def n_str(n): str1 = '' for i in n: if 'a' <= i <= 'z' or 'A' <= i <= 'Z': str1 += i return str1print(n_str('12a&bc12d-+'))

6、写一个函数,求多个数的平均值
def n_aver(*n): aver1 = sum(n) / len(n) returnaver1print(n_aver(1,2,3,4))

7、写一个函数,默认求10的阶乘,也可以求其他数字的阶乘
def n_fact(n=10): fact1 = 1 for i in range(1,n+1): fact1 *= i return fact1print(n_fact())

8、写一个自己的capitalize函数,能够将指定字符串的首字母变成大写字母
def str_capitalize(n:str): i = ord(n[0]) if 97 <= i <= 122: n = chr(i - 32) + n[1:] return nprint(str_capitalize('a1bc'))

9、写一个自己的endswith函数,判断一个字符串是否已指定的字符串结束
def n_endswith(n:str,m:str): k = n[(len(n)-len(m)):] if k == m: return True else: return Falseprint(n_endswith('abc231ab','ab'))

10、写一个自己的isdigit函数,判断一个字符串是否是纯数字字符串
def n_isdigit(n): num = 0 for i in n: ifnot '0' <= i <= '9': num += 1 if num == 0: return True else: return Falseprint(n_isdigit('123456'))

11、写一个自己的upper函数,将一个字符串中所有的小写字母变成大写字母
def n_upper(n): m = '' for i in n: if 97 <= ord(i) <= 122: i = chr(ord(i) - 32) m += i else: m += i return mprint(n_upper('abH23好rp1'))

12、写一个自己的rjust函数,创建一个字符串的长度是指定长度,原字符串在新字符串中右对齐,剩下的部分用指定的字符填充
def n_rjust(a, b, c): d= c * (b - len(a)) + a return dprint(n_rjust('你好吗',5,'0'))

13、写一个自己的index函数,统计指定列表中指定元素的所有下标,如果列表中没有指定元素返回-1
def list_index(a:list, b): list1 = [] for i in range(len(a)): if a[i] == b: list1.append(i) if len(list1) == 0: list1 = -1 return list1print(list_index( [1, 2, 45, 'abc', 1, '你好', 1, 0], 3))

14、写一个自己的len函数,统计指定序列中元素的个数
def n_len(n): num = 0 for i in n: num += 1 return numprint(n_len('aaa ccc'))

15、写一个自己的max函数,获取指定序列中元素的最大值。如果序列是字典,取字典值的最大值
def max_seq(seq): if type(seq) == dict: list1 = list(seq.values()) else: list1 =list(seq) max_element = list1[0] for index in range(1,len(list1)): if max_element < list1[index]: max_element = list1[index] return max_elementprint(max_seq({'小明':90, '张三': 76, '路飞':30, '小花': 98}))

16、写一个函数实现自己in操作,判断指定序列中,指定的元素是否存在
def in_seq(seq, ele): num = 0 for i in seq: if i == ele: num += 1 if num == 0: return False else: return Trueprint(in_seq([12, 9, 'abc'], 90))

17、写一个自己的replace函数,将指定字符串中指定的旧字符串转换成指定的新字符串
def replace_z(str1, old:str, new:str): strs = str1.split(old) print(strs) return new.join(strs)result = replace_z('how are you? and you?', 'you', 'me') print(result)

18、写四个函数,分别实现求两个列表的交集、并集、差集、补集的功能
# 交集 def intersection(list1, list2): list3 = [] for i in list1: if i in list2: list3.append(i) return list3print(intersection([1,2,3,4,5,6], [2,4,6,8,10]))# 并集 def union(list1, list2): for i in list1: if i not in list2: list2.append(i) return list2print(union([1,2,3,4,5,6], [2,4,6,8,10]))# 差集 def difference_set(list1, list2): list3 = [] for i in list1: if i not in list2: list3.append(i) return list3print(difference_set([1,2,3,4,5,6], [2,4,6,8,10]))# 补集 def complement_set(list1, list2): list3 = [] for i in list1: if i not in list2: list3.append(i) for j in list2: if j not in list1: list3.append(j) return list3print(complement_set([1,2,3,4,5,6], [2,4,6,8,10]))

19、写一个匿名函数,判断指定的年是否是闰年
func1 = lambda year: ((year % 4 == 0 andyear % 400 != 0) or year % 400 ==0) print(func1(2000))

20、写一个函数将一个指定的列表中的元素逆序( 如[1, 2, 3] -> [3, 2, 1])(注意:不要使用列表自带的逆序函数)
func1 = lambda list1:list1[::-1] print(func1([1,2,3,4]))

21、写一个函数,获取指定列表中指定元素的下标
(如果指定元素有多个,将每个元素的下标都返回)例如: 列表是:[1, 3, 4, 1] ,元素是1, 返回:0,3
def func1(list1,n): list2 = [] for i in range(len(list1)): if list1[i] == n: list2.append(i) return list2 print(func1([1,3,4,1],1))

22、写一个函数,能够将一个字典中的键值对添加到另外一个字典中 (不使用字典自带的update方法)
def new_dict(dict1): dict2 = {} for key in dict1: dict2[key] = dict1[key] return dict2 print(new_dict({'a': 1, 'b': 2, 'c': 3, 'd': 4}))

23、写一个函数,能够将指定字符串中的所有的小写字母转换成大写字母;所有的大写字母转换成小写字母(不能使用字符串相关方法)
def trans_letter(str1): str2 = '' for i in str1: if 'a' <= i <= 'z': str2 += chr(ord(i) - 32) elif 'A' <= i <= 'Z': str2 += chr(ord(i) + 32) else: str2 += i returnstr2print(trans_letter('abc123ABC'))

24、实现一个属于自己的items方法,可以将自定的字典转换成列表。列表中的元素是小的列表,里面是key和value (不能使用字典的items方法)例如:{'a':1, 'b':2} 转换成 [['a', 1], ['b', 2]]
ef trans_dict(dict1): list1 = [] for i in dict1: list2 = [] list2.append(i) list2.append(dict1[i]) list1.append(list2) return list1dict1 = {'a': 1, 'b': 2, 'c': 3, 'd': 4} print(trans_dict(dict1))

25、写一个函数,实现学生的添加功能:
=============添加学生================ 输入学生姓名: 张胜 输入学生年龄: 23 输入学生电话: 15634223 ===添加成功! '姓名':'张胜', '年龄':23, '电话:15634223', '学号':'0001' ===================================== 1.继续 2.返回 请选择: 1 =============添加学生================ 输入学生姓名: 李四 输入学生年龄: 18 输入学生电话: 157234423 ===添加成功! '姓名':'张胜', '年龄':23, '电话:15634223', '学号':'0001' '姓名':'李四', '年龄':18, '电话:157234423', '学号':'0002' ===================================== 1.继续 2.返回 请选择:

def add_stu(): list_stu = [] n = 1 while True: print('============添加学生=============') name = input('输入学生姓名:') age = int(input('输入学习年龄:')) tele = input('请输入学生电话:') stu_num = str(n) stu_id = stu_num.rjust(4, '0') dict_stu = {'姓名':name, '年龄':age, '电话':tele, '学号':stu_id} list_stu.append(dict_stu) print('===添加成功') print(list_stu) print('================================') print('1.继续') print('2.返回') choice = int(input('请选择')) if choice == 1: n += 1 else: break return list_stu add_stu()

    推荐阅读