-
编写函数,求1+2+3+…N的和
def sum1(N): sum2 = 0 for x in range(N + 1): sum2 += x return(sum2)
-
编写一个函数,求多个数中的最大值
def max_n(*num): max_1 = num[0] for x in num: if x > max_1: max_1 = x return max_1
-
编写一个函数,实现摇骰子的功能,打印N个骰子的点数和
import random def dice(N): sum1 = 0 for _ in range(N): num1 = random.randint(1, 6) sum1 += num1 return sum1
编写一个函数,交换指定字典的key和value。
def change(**dict):
dict1 = {}
for key in dict:
dict1[dict[key]] = key
return dict1
-
编写一个函数,提取指定字符串中所有的字母,然后拼接在一起产生一个新的字符串
def ext_letter(str1): new_str = '' for char in str1: if 'A' <= char <= 'Z' or 'a' <= char <= 'z': new_str += char return new_str
-
写一个函数,求多个数的平均值
def ave(*num): n = len(num) sum1 = 0 for x in num: sum1 += x ave1 = sum1 / n return ave1
-
写一个函数,默认求10的阶乘,也可以求其他数字的阶乘
def fact(N = 10): fact1 = 1 for x in range(1, N + 1): fact1 *= x return fact1
=====================注意:以下方法不能使用系统提供的方法和函数,全部自己写逻辑==============
-
写一个自己的capitalize函数,能够将指定字符串的首字母变成大写字母
def capitalize_zhy(str): if 'a' <= str[0] <= 'z': str = str.replace(str[0], ord(chr(str[0]) - 32)) return str
-
写一个自己的endswith函数,判断一个字符串是否已指定的字符串结束
例如: 字符串1:'abc231ab' 字符串2:'ab' 函数结果为: True 字符串1:'abc231ab' 字符串2:'ab1' 函数结果为: False def endswith_zhy(str1, str2): n1 = len(str1) n2 = len(str2) if n1 >= n2: if str1[n1-n2:n1-1] == str2: return True else: return False else: return False
- 写一个自己的isdigit函数,判断一个字符串是否是纯数字字符串
例如: '1234921' 结果: True
'23函数' 结果: False
'a2390' 结果: False
def isdigit_zhy(str):
for char in str:
if not '0' <= char <= '9':
return False
else:
return True
-
写一个自己的upper函数,将一个字符串中所有的小写字母变成大写字母
例如: 'abH23好rp1' 结果: 'ABH23好RP1' def upper_zhy(str): for char in str: if 'a' <= char <= 'z': str = str.replace(char, chr(ord(char) - 32)) return str
写一个自己的rjust函数,创建一个字符串的长度是指定长度,原字符串在新字符串中右对齐,剩下的部分用指定的字符填充
例如: 原字符:'abc' 宽度: 7 字符:'^' 结果: '^^^^abc'
原字符:'你好吗' 宽度: 5 字符:'0' 结果: '00你好吗'
def rjust_zhy(str, width, char):
n = len(str)
new_str = (width - n) * char + str
return new_str
-
写一个自己的index函数,统计指定列表中指定元素的所有下标,如果列表中没有指定元素返回-1
例如: 列表: [1, 2, 45, 'abc', 1, '你好', 1, 0] 元素: 1 结果: 0,4,6 列表: ['赵云', '郭嘉', '诸葛亮', '曹操', '赵云', '孙权'] 元素: '赵云' 结果: 0,4 列表: ['赵云', '郭嘉', '诸葛亮', '曹操', '赵云', '孙权'] 元素: '关羽' 结果: -1 def index_zhy(element, *element1): index = 0 list1 = [] for x in element1: if x == element: list1.append(index) index += 1 if list1 ==[] return -1 else: return list1
-
写一个自己的len函数,统计指定序列中元素的个数
例如: 序列:[1, 3, 5, 6] 结果: 4 序列:(1, 34, 'a', 45, 'bbb') 结果: 5 序列:'hello w' 结果: 7 def len_zhy(*element): n = 0 for x in element: n += 1 return n
-
写一个自己的max函数,获取指定序列中元素的最大值。如果序列是字典,取字典值的最大值
例如: 序列:[-7, -12, -1, -9] 结果: -1 序列:'abcdpzasdz' 结果: 'z' 序列:{'小明':90, '张三': 76, '路飞':30, '小花': 98} 结果: 98 def max_zhy(*list1, **dict1): max_ele1 = list1[0] for x in list1[1:]: if max_ele < x: max_ele = x return max_ele1 for key in dict1: max_ele1 = dict1[key] break for key in dict1: if dict1[key] > max_ele1: max_ele1 = dict1[key] return max_ele
-
写一个函数实现自己in操作,判断指定序列中,指定的元素是否存在
例如: 序列: (12, 90, 'abc') 元素: '90' 结果: False 序列: [12, 90, 'abc'] 元素: 90 结果: True def in_zhy(element,*list1): for x in list1: if x == element: return True else: return False
-
写一个自己的replace函数,将指定字符串中指定的旧字符串转换成指定的新字符串
例如: 原字符串: 'how are you? and you?' 旧字符串: 'you' 新字符串:'me' 结果: 'how are me? and me?' def replace_zhy(old_str, new_str,ori_str): list1 = ori_str.split(old_str) n = len(new_str) for x in list1: new_str += x return new_str[n-1:]
-
写四个函数,分别实现求两个列表的交集、并集、差集、补集的功能
def and_1(list1, list2): new_list =[] n = 0 for char in list1: n += 1 if char in list1[n:]: continue if char in list2: new_list.append(char) return new_list list1 = [1, 3, 5, 2, 2, 4] list2 = [7, 5, 2, 3, 2, 4] print(and_1(list1, list2)) def and_1(list1, list2): list3 = list1 + list2 new_list = [] n = 0 for char in list3: n += 1 if char not in list3[n:]: new_list.append(char) return new_list list1 = [1, 3, 5, 2, 2, 4] list2 = [7, 5, 2, 3, 2, 4] print(and_1(list1, list2)) def and_1(list1, list2): new_list =[] for char in list1: if char in list2: continue else: new_list.append(char) return new_list list1 = [1, 3, 5, 2, 2, 4] list2 = [7, 5, 2, 3, 2, 4] print(and_1(list1, list2))