作业练习20200318

一、修改文件

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

def revise_file(file, old_content, new_content):
    with open(r'{}'.format(file), mode='rt', encoding='utf-8')as f:
        f_read = f.read().replace(old_content, new_content)
    with open(r'{}'.format(file), mode='wt', encoding='utf-8')as f:
        f.write(f_read)

二、分类计数

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

def type_count(count_str):
    digit_count = 0
    alpha_count = 0
    space_count = 0
    other_count = 0
    for a in count_str:
        if a.isdigit():
            digit_count += 1
        elif a.isalpha():
            alpha_count += 1
        elif a.isspace():
            space_count += 1
        else:
            other_count += 1
    print('该字符串是由{}个数字,{}个字母,{}个空格以及{}个其他符号组成的。' \
          .format(digit_count, alpha_count, space_count, other_count))
count_str = input('输入需统计的字符串:')
type_count(count_str)

三、判断长度

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

def length_judge(judge_object):
    object_length = len(judge_object)
    if object_length > 5:
        print('该变量的长度大于5')
    elif object_length == 5:
        print('该变量的长度等于5')
    else:
        print('该变量的长度小于5')

四、判断长度并返回

# 4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

def list_judge(list_object):
    if len(list_object) > 2:
        list_object=list_object[0:2]
        return list_object

五、奇位返回

# 5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。

def odd_index(list_or_tuple):
    new_list = []
    for a in range(1,len(list_or_tuple),2):
        new_list.append(list_or_tuple[a])
    return new_list

六、检查字典

# 6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
# dic = {"k1": "v1v1", "k2": [11,22,33,44]}
# PS:字典中的value只能是字符串或列表

def cheek_dict(dict_object):
    for key in dict_object:
        if len(dict_object[key]) > 2:
            dict_object[key] = dict_object[key][0:2]
    return dict_object
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
print(cheek_dict(dic))

猜你喜欢

转载自www.cnblogs.com/caoyu080202201/p/12518362.html