• 老男孩python学习第八天作业


    问题一:编写一个函数,计算固定列表中所有元素之和

    答:

    # 函数定义
    def list_sum():
        li = [11, 22, 33]
        total = 0
        for i in li:
            total += i
        print(total)
    
    # 函数调用
    list_sum()
    

    问题二:编写一个函数,计算非固定列表中所有元素之和

    答:

    # 函数定义
    def list_sum(li):
        total = 0
        for i in li:
            total += i
        print(total)
    
    # 函数调用
    list_sum([11, 22, 33])
    

    问题三:编写一个函数,将两个列表拼接起来

    答:

    # 函数定义
    def list_extend(li1, li2):
        li1.extend(li2)
        print(li1)
    
    # 函数调用
    list_extend([11, 22, 33], [44, 55, 66])
    

    问题四:让用户输入一段字符串,计算字符中有多少指定字符,有多少个就在指定文件中写多少次固定内容,并给出提示

    答:

    # 统计指定字符出现次数函数定义
    def get_char_count(char, data):
        count = 0
        for i in data:
            if i == char:
                count += 1
        return count
    
    # 写入文件函数定义
    def write_data_file(count, file_name, data):
        if len(data) == 0:
            return False  # 函数执行过程中,一旦遇到return,则停止函数的执行
        with open(file_name, mode='w', encoding='utf-8') as f:
            result = data * count
            f.write(result)
            return True
    
    # 函数调用
    content = input('请输入:')
    v = get_char_count('A', content)
    status = write_data_file(v, 'a.txt', '李四')
    if status:
        print('写入成功')
    else:
        print('写入失败')
    

    问题五:写函数,计算一个列表中有多少个数字,打印格式:列表中有多少个数字

    答:

    # 函数定义
    def get_num_count(li):
        count = 0
        for i in li:
            if type(i) == int:
                count += 1
        print('列表中有%d个数字' % (count,))
    
    # 函数调用
    get_num_count([11, 'aa', 22])
    

    问题六:写函数,计算一个列表中偶数索引位置的数据构造成另外一个列表,并返回

    答:

    # 函数定义
    def get_list_even(li):
        result = li[::2]
        return result
    
    # 函数调用
    data_list = get_list_even(['11', '22', '33'])
    print(data_list)
    

    问题七:读取文件,将文件的内容构造成指定格式的数据,并返回

    答:

    # 构建文件
    with open('a.log', mode='w', encoding='utf-8') as f:
        f.write('alex|123|18
    ')
        f.write('eric|uiuf|19
    ')
    
    
    # 目标结构1:['alex|123|18','eric|uiuf|19']
    # 函数定义
    def output_data_list1(data_file):
        result = []
        with open(data_file, mode='r', encoding='utf-8') as f:
            for item in f:
                result.append(item.strip())
        return result
    
    
    # 函数调用
    data_list = output_data_list1('a.log')
    print(data_list)
    
    
    # 目标结构2:[['alex','123','18'],['eric','uiuf','19']]
    # 函数定义
    def output_data_list2(data_file):
        result = []
        with open(data_file, mode='r', encoding='utf-8') as f:
            for item in f:
                result.append(item.strip().split('|'))
        return result
    
    
    # 函数调用
    data_list = output_data_list2('a.log')
    print(data_list)
    
    
    # 目标结构3:[{'name':'alex','pwd':'123','age':'18'},{'name':'eric','pwd':'uiuf','age':'19'}]
    # 函数定义
    def output_data_list3(data_file):
        result = []
        with open(data_file, mode='r', encoding='utf-8') as f:
            for item in f:
                n, p, a = item.strip().split('|')
                data_dict = {'name': n, 'pwd': p, 'age': a}
                result.append(data_dict)
        return result
    
    
    # 函数调用
    data_list = output_data_list3('a.log')
    print(data_list)
    
  • 相关阅读:
    Problem E. Matrix from Arrays(杭电2018年多校第四场+思维+打表找循环节)
    Reachability from the Capital(Codeforces Round #490 (Div. 3)+tarjan有向图缩点)
    Network of Schools(POJ1326+有向图进行缩点)
    John's trip(POJ1041+欧拉回路+打印路径)
    Watchcow(POJ2230+双向欧拉回路+打印路径)
    Network(POJ3694+边双连通分量+LCA)
    Problem L. Visual Cube(杭电多校2018年第三场+模拟)
    floyd骚操作——传递闭包
    Remmarguts' Date(POJ2449+最短路+A*算法)
    Transformation(线段树+HDU4578+多种操作+鬼畜的代码)
  • 原文地址:https://www.cnblogs.com/zhanglongfei/p/11738587.html
Copyright © 2020-2023  润新知