函数作业
1.编写一个函数,交换指定字典的key和value。
def change_dic(dict1:dict):
for key in dict1.copy():
#先取出键值对
value = dict1.pop(key)
#再交换
dict[value] = key
print(dict)
-
编写一个函数,提取指定字符串中所有的字母,然后拼接在一起产生一个新的字符串。例如: 传入’12a&bc12d-+’ --> ‘abcd’
def take_out(str1,str): new_str = '' for char in str1: if 'a'<= char <='z' or 'A'<= char <='Z': new_str += char print(new_str)
#3.写一个自己的capitalize函数,能够将指定字符串的首字母变成大写字母。例如:‘abc’ —> ‘Abc’
def zj_capitalize(str2):
for x in str2:
if 'a'<= str2[0] <='z':
char2 = char(ord(str2[0]))-32
str2 = char2 + str2[1::]
print(str2)
#4.写一个自己的endswith函数,判断一个字符串是否已指定的字符串结束
def zj_endswith(str3,str4):
N = len(str4)
str5 = str3[-N:]
if str5 == str4:
print('Ture')
else:
print('False')
#5.写一个自己的isdigit函数,判断一个字符串是否是纯数字字符串
def zj_isdigit(str6):
for x in str6:
if not '0'<= x <='9':
print('False')
break
else:
print('Ture')
#6.写一个自己的upper函数,将一个字符串中所有的小写字母变成大写字母
def zj_upper(str7):
new_str = ' '
for x in str7:
if 'a'<= x <='z':
new_str += char(ord(x)-32)
else:
new_char +=x
print(new_char)
#7.写一个自己的rjust函数,创建一个字符串的长度是指定长度,原字符串在新字符串中右对齐,剩下的部分用指定的字符填充
def zj_rjust(str8,width,char1):
length1 = len(str8)
length2 = width - length1
new_str = char1*length2+str8
print('new_str')
#8.写一个自己的index函数,统计指定列表中指定元素的所有下标,如果列表中没有指定元素返回-1
def zj_index(list1,str):
num1=0
for index in range(len(list1)):
if list1(index) == str1:
print(index,end' ')
num +=1
else:
num == 0
return print(-1)
#9.写一个自己的len函数,统计指定序列中元素的个数
def zj_len(list2):
sum1 = 0
for char in list2:
sum1 +=1
print(sum1)
#10.写一个自己的max函数,获取指定序列中元素的最大值。如果序列是字典,取字典值的最大值
def zj_max(list2):
if type(list2) != dict:
max1 = list2[0]
for char in list2:
if char > max1:
max1 = char
else:
max1 = 0
for x in list2.value():
if x > max1:
max1 = x
print(max1)
#11.写一个函数实现自己in操作,判断指定序列中,指定的元素是否存在
def zj_in(list3,elt):
if elt in list3:
print('Ture')
else:
print('False')
#12.写一个自己的replace函数,将指定字符串中指定的旧字符串转换成指定的新字符串
def zj_replace(str9,str10,str11):
new_str = str9.split('str10')
result = 'str11'.jion([x for x in new_str if type(x)==str])
print(new_str)