day9-作业
2018-11-16 本文已影响0人
L_4bc8
# 0.写一个匿名函数,判断指定的年是否是闰年
judge = lambda year: (year % 4 == 0 and year % 4 != 0) or (year % 400 == 0)
1.写一个函数将一个指定的列表中的元素逆序( 如[1, 2, 3] -> [3, 2, 1])(注意:不要使 表自带的逆序函数)
def my_reverse(list1):
for index in range(int(len(list1)/2)):
list1[index], list1[len(list1) - index-1] = list1[len(list1) - index-1], list1[index]
list1 = [1, 2, 3, 4]
my_reverse(list1)
print(list1)
2.写一个函数,提取出字符串中所有奇数位上的字符
def extract(str1: 'str'):
return list(str1)[::2]
3.写一个函数,统计指定列表中指定元素的个数(不用列表自带的count方法)
def my_count(list1, value):
count = 0
for i in list1:
if list1[i] ==value:
count += 1
return count
`4.写一个函数,获取指定列表中指定元素的下标(如果指定元素有多个,将每个元素的下标都返回) 例如: 列表是:[1, 3, 4, 1] ,元素是1, 返回:0,3
def get_index(list1, value):
index_list = []
if value not in list1:
print("没有该函数")
else:
for index in list1:
if value == list1[index]:
index_list.append(index)
return index_list
5.写一个函数,能够将一个字典中的键值对添加到另外一个字典中(不使用字典自带的update方法)
def ladd(dict1, dict2):
for key in dict1:
dict2[key] = dict1[key]
return dict2
6.写一个函数,能够将指定字符串中的所有的小写字母转换成大写字母;所有的大写字母转换成小写字母(不能使用字符串相关方法)
def change(str1):
str2 = ''
for chr1 in str1:
if 'a' <= chr1 <= 'z':
str2 += chr(ord(chr1)-32)
elif 'A' <= chr1 <= 'Z':
str2 += chr(ord(chr1) + 32)
else:
str2 += chr1
return str2
7.写一个函数,能够将指定字符串中的指定子串替换成指定的其他子串(不能使用字符串的replace方法) 例如: func1('abcdaxyz', 'a', '\') - 返回: '\bcd\xyz'
def func1(str1, str2, str3):
a = len(str2)
str4 = ''
index = 0
while index < len(str1):
str_ = str1[index:index + a]
if str_ == str2:
str4 += str3
index += a
else:
str4 += str1[index]
index += 1
if index >= len(str1):
break
return str4
8.实现一个输入自己的items方法,可以将自定的字典转换成列表。列表中的元素是小的列表,里面是key和value (不能使用字典的items方法)
例如:{'a':1, 'b':2} 转换成 [['a', 1], ['b', 2]
def func2(dict1):
key_list = []
value_list = []
list1 = [key_list, value_list]
for key in dict1:
key_list.append(key)
value_list.append(dict1[key])
return list1