作业03-18

# 1、写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作

# file_path: /python相关/python_files/01 python班级/python14期/作业讲解/day13/test.txt

import os

#定义函数

def change_file(file_path,old,new):

list1 = []

# 先将文件中所有的数据一行一行读取出来

    # 注意: 不要同时操作同一个文件

    with open(file_path,"r",encoding="utf-8")as f:

for linein f:

line = line.replace(old,new)

list1.append(line)

with open(file_path,"w",encoding="utf-8")as w:

w.write(line)

#函数调用

change_file("user.txt","alex","egon")


# 2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数

#定义函数

def count(*args):

dic = {"num":0,"letter":0,"space":0,"other":0}

for iin args:

if i.isdigit():

dic["num"] +=1

        elif i.isalpha():

dic["letter"] +=1

        elif i.isspace():

dic["space"] +=1

        else:

dic["other"] +=1

    return dic

dic = count("123 ", "abcd", "$%^")

print(dic)


# 3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。

def inp_len(a,b=5):

if a > b:

print("大于5")

elif a < b:

print("小于5")

inp_len(7)


# 4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,

# 并将新内容返回给调用者。

def inp_len(l):

if type(l) ==list:

if len(l) >2:

return l[0:2]

res = inp_len([11,22,33])

print(res)


# 5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,

# 并将其作为新列表返回给调用者。

def element(*args):

l = []

for iin range(0,len(l)):

if i %2 ==1:

l.append(i)

return l

res = element([1,3,5,7])

print(res)


# 6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,

# 并将新内容返回给调用者。

# PS:字典中的value只能是字符串或列表

dic = {"k1":"v1v1", "k2": [11,22,33,44]}

def va_len(**kwargs):

for k,vin kwargs.items():

if len(v) >2:

kwargs[k]= v[0:2]

return kwargs

dic = va_len(**dic)

print(dic)

你可能感兴趣的:(作业03-18)