# 检查传入列表火元组对象所有奇数位索引对应的元素,并将其作为新列表返回
def list_odd(li):
# li1 = []
# for i in range(len(li)):
# if i % 2:
# li1.append(li[i])
# return li1
return li[1::2]
res = list_odd([00, 123, 23, 3214, 4123, 5124])
print(res)
# 写函数,判断用户传入对象(字符串,列表,元组)长度是否大于5
def length(li):
# if len(li) > 5:
# print("长度大于5")
# else:
# print("长度不大于5")
return len(li) > 5
# 写函数,检查传入列表长度,如果大于2,仅保留前2个长度内容,并将新内容返回
def cut(li):
# li1 = []
# for i in range(len(li)):
# if i < 2:
# li1.append(li[i])
# return li1
return li[:2]
res = cut([1, 2, 3, 4, 5])
print(res)
# 写函数,计算传入字符串种的数字、字母、空格 以及 其他的个数,并返回结果
def count(str):
dic = {"num": 0, "str": 0, "space": 0, "other": 0}
for i in range(len(str)):
if str[i].isdigit():
dic["num"] += 1
# elif str[i] == ' '
elif str[i].isspace():
dic["space"] += 1
elif str[i].isalpha():
dic["str"] += 1
else:
dic["other"] += 1
return dic
res = count("f ifw 12 @&%^")
print(res)
# 写函数,检查传入字典的每个value的长度。如果大于2,仅保留前两个长度的内容,并将新内容返回
dic = {"k1": "v1v1", "k2": [11, 22, 33, 44]}
def cut_dic(dic):
# dic1 = {}
# for k, v in dic.items():
# dic1[k] = v[0:2]
# return dic1
for k in dic:
dic[k] = dic[k][0:2]
return dic
print(cut_dic(dic))
# 写函数,接收两个数字参数,返回大的那个数字
def func(a, b):
return a if a > b else b # 三元运算
print(func(2, 5))
#写函数,用户传入修改的文件名,修改的内容,执行函数,完成整个文件的批量修改
def f_op(f_name, content, update):
with open(f_name, mode='r', encoding='utf-8') as op_re, open(f_name+'.bak', mode='w', encoding='utf-8') as op_wr:
for line in op_re:
if content in line:
line = line.replace(content, update)
op_wr.write(line)
import os
os.remove(f_name)
os.rename(f_name+'.bak', f_name)
f_op('info.txt', 'Hebe', 'Alice')