编写函数,求1+2+3+…N的和
def yt_sum1(n):
return sum(range(1, n+1))
print(yt_sum1(10))
sum2(100)
编写一个函数,求多个数中的最大值
def yt_max(*nums):
max1 = nums[0]
for num in nums[1:]:
if num > max1:
max1 = num
return max1
print(yt_max(19, 992, -93, 0))
编写一个函数,实现摇骰子的功能,打印N个骰子的点数和
def sum1(n):
sum2 = 0
for n in args:
for x1 in (1,7):
sum2 += x1
sum1(5)
编写一个函数,交换指定字典的key和value。
例如:dict1={'a':1, 'b':2, 'c':3} --> dict1={1:'a', 2:'b', 3:'c'}
dict1 = {'a': 1, 'b': 2} # {1: 'a', 2: 'b'}
def exchange_key_value(dictx: dict):
# 注意: 遍历删除和增加,遍历对象应该原来没有进行修改的原容器的值。
for key in dictx.copy():
value = dictx[key]
print(key)
dictx.pop(key)
dictx[value] = key
exchange_key_value(dict1)
print(dict1)
编写一个函数,提取指定字符串中所有的字母,然后拼接在一起产生一个新的字符串
例如: 传入'12a&bc12d-+' --> 'abcd'
def add(str1:str):
sum1 = ''
for x in str1:
if 'a'<=x<='z' or 'A'<=x<='Z':
sum1 += x
print(sum1)
add('ssadda123as436as@!g$@')
写一个函数,求多个数的平均值
def pingjun(*args):
sum1 = 0
for x in args:
sum1 += x
pingjunzhi = sum1 / len(args)
return pingjunzhi
pingjun(2,54,74,14,35)
写一个函数,默认求10的阶乘,也可以求其他数字的阶乘
def jc(a=10):
sum2 = 1
for x in range(1,n+1):
sum2 *= x
rentun sum2
jc()
写一个自己的capitalize函数,能够将指定字符串的首字母变成大写字母
def capitalize(str1:str):
for x in str1:
if 'a'<=x <='z':
ord[x] = ord[x] -32
break
print(x)
capitalize('asdassqrq')
写一个自己的endswith函数,判断一个字符串是否已指定的字符串结束
例如: 字符串1:'abc231ab' 字符串2:'ab' 函数结果为: True
字符串1:'abc231ab' 字符串2:'ab1' 函数结果为: False
def endswith(str1: str, str2: str):
len2 = len(str2)
end = str1[-len2:]
return end == str2
if endswith('text.c', '.py'):
print('是python源文件')
else:
print('不是python源文件')
endswith('asqr14ada','a')
写一个自己的isdigit函数,判断一个字符串是否是纯数字字符串
例如: '1234921' 结果: True
'23函数' 结果: False
'a2390' 结果: False
def isdigit(str1: str):
for char in str1:
if not '0' <= char <= '9':
return False
return True
print(isdigit('2a333'))
写一个自己的upper函数,将一个字符串中所有的小写字母变成大写字母
例如: 'abH23好rp1' 结果: 'ABH23好RP1'
def upper(str1:str):
for x in str1:
if 'a'<=x<='z':
ord[x] = ord[x]-32
print(x)
upper('asdasda123123')
写一个自己的rjust函数,创建一个字符串的长度是指定长度,
原字符串在新字符串中右对齐,剩下的部分用指定的字符填充
例如: 原字符:'abc' 宽度: 7 字符:'^' 结果: '^^^^abc'
原字符:'你好吗' 宽度: 5 字符:'0' 结果: '00你好吗'
def rjust(str1: str, width: int, char: str):
count = width - len(str1)
return count*char+str1
print(rjust('abc', 7, '^'))
print(rjust('你好吗', 5, '0'))
写一个自己的index函数,统计指定列表中指定元素的所有下标,如果列表中没有指定元素返回-1
例如: 列表: [1, 2, 45, 'abc', 1, '你好', 1, 0] 元素: 1 结果: 0,4,6
列表: ['赵云', '郭嘉', '诸葛亮', '曹操', '赵云', '孙权'] 元素: '赵云' 结果: 0,4
列表: ['赵云', '郭嘉', '诸葛亮', '曹操', '赵云', '孙权'] 元素: '关羽' 结果: -1
def index(list1: list, item):
if item not in list1:
return -1
indexs = []
for x in range(len(list1)):
if list1[x] == item:
indexs.append(x)
return indexs
names = ['赵云', '郭嘉', '诸葛亮', '曹操', '赵云', '孙权']
all_index = index(names, '赵云')
for x in all_index:
names[x] = '子龙'
print(index(names, '关羽'))
print(names)
写一个自己的len函数,统计指定序列中元素的个数
例如: 序列:[1, 3, 5, 6] 结果: 4
序列:(1, 34, 'a', 45, 'bbb') 结果: 5
序列:'hello w' 结果: 7
def len(*args):
sum1 = 0
for x in args:
sum1 += 1
len(12,3,5,63,6,'a')
写一个自己的max函数,获取指定序列中元素的最大值。如果序列是字典,取字典值的最大值
例如: 序列:[-7, -12, -1, -9] 结果: -1
序列:'abcdpzasdz' 结果: 'z'
序列:{'小明':90, '张三': 76, '路飞':30, '小花': 98} 结果: 98
def yt_max(seq):
if isinstance(seq, dict):
values = list(seq.values())
else:
values = list(seq)
max1 = values[0]
for item in values[1:]:
if item > max1:
max1 = item
return max1
print(yt_max([23, 45, 56, 56]))
print(yt_max({'a', 'nsh', 'bccc'}))
print(yt_max({'小明': 90, '张三': 76, '路飞': 30, '小花': 98}))
def max(*args,**kwargs):
max1 = 0
for x in args:
if x > max1:
max1 = x
for key in kwargs:
if key[value] > max1:
max1 = key[value]
max(1,24,634,234,735,1122)
写一个函数实现自己in操作,判断指定序列中,指定的元素是否存在
例如: 序列: (12, 90, 'abc') 元素: '90' 结果: False
序列: [12, 90, 'abc'] 元素: 90 结果: True
def in1(*args):
num = '90'
for x in args:
if x == num:
print(True)
else:
print(Fales)
in1(1,235,46,37,2,423)
写一个自己的replace函数,将指定字符串中指定的旧字符串转换成指定的新字符串
例如: 原字符串: 'how are you? and you?' 旧字符串: 'you'
新字符串:'me' 结果: 'how are me? and me?'
def replace(str1):
str2 = 'you'
for str2 in str1:
if str2 in str1:
str2 = 'me'
replace('how are you? and you?')
写四个函数,分别实现求两个列表的交集、并集、差集、补集的功能
def jiao(set1,set2):
set3 = {}
for x1 in set1:
continue
for x2 in set2:
continue
if x1 == x2:
set3 += x1
def bing(set1,set2):
for x in set1:
set2 += x
def cha(set1,set2):
set3 = {}
for x in set1:
if x not in set2:
set3+=x
def bu(set1,set2):
set3 = {}
for x in set1:
if x1 not in set2:
set3 += x
for x in set2:
if x2 not in set1:
set3+= x2
写一个匿名函数,判断指定的年是否是闰年
lambda year:if (year % 100 != 0 and year % 4 == 0) or year % 400 == 0:print('闰年')