zoukankan      html  css  js  c++  java
  • python基础学习11天,作业题

    1. 文件a.txt内容:每一行内容分别为商品名字,价钱,个数。

    apple 10 3

    tesla 100000 1

    mac 3000 2

    lenovo 30000 3

    chicken 10 3

    通过代码,将其构建成这种数据类型:[{'name':'apple','price':10,'amount':3},{'name':'tesla','price':1000000,'amount':1}......] 并计算出总价钱。

    li = []
    with open('a.txt', encoding='utf-8', mode='r') as f1:
        for i in f1:
            l2 = i.strip().split()
            dic = {'name':l2[0], 'price':l2[1], 'amount':l2[2]}
            li.append(dic)
    print(li)
    sum = 0
    for j in li:
        sum = sum + int(j['price']) * int(j['amount'])
    print(sum)
    优化拓展
    name_list = ['name', 'price', 'amount']
    li = []
    with open('a.txt', encoding='utf-8', mode='r') as f1:
        for i in f1:
            l2 = i.strip().split()
            # dic = {}
            # for j in range(len(l2)):
            #     dic[name_list[j]] = l2[j]
            dic = dict(zip(name_list, l2)) # 前面三句可以优化成这一句,易读性也更强
            li.append(dic)
    print(li)
    sum = 0
    for k in li:
        sum = sum + int(k['price']) * int(k['amount'])
    print(sum)
    View Code

    2,有如下文件:

    -------

    alex是老男孩python发起人,创建人。

    alex其实是人妖。

    谁说alex是sb?

    你们真逗,alex再牛逼,也掩饰不住资深屌丝的气质。

    ----------

    将文件中所有的alex都替换成大写的SB。

    import os
    with open('alex.txt', encoding='utf-8', mode='r') as f1,
        open('SB.txt', encoding='utf-8', mode='w') as f2:
        for i in f1:
            print(i)
            new_i = i.replace('alex', 'SB')
            f2.write(new_i)
    os.remove('alex.txt')
    os.rename('SB.txt', 'alex.txt')
    View Code

    3. 文件a1.txt内容:每一行内容分别为商品名字,价钱,个数。
    文件内容:

    name:apple price:10 amount:3 year:2012
    name:tesla price:100000 amount:1 year:2013


    通过代码,将其构建成这种数据类型:
    [{'name':'apple','price':10,'amount':3},
    {'name':'tesla','price':1000000,'amount':1}......]
    并计算出总价钱。

    lis = []
    dic = {}
    with open('a1.txt', encoding='utf-8', mode='r') as f2:
        for i in f2:
            li = i.strip().split()
            for j in li:
                KeyVal = j.split(':')
                dic.setdefault(KeyVal[0], KeyVal[1])
            lis.append(dic)
            dic = {}
     print(lis)
    sum = 0
    for k in lis:
        sum =sum + int(k['amount'])*int(k['price'])
    print(sum)
    View Code
    lis = []
    dic = {}
    with open('a1.txt', encoding='utf-8', mode='r') as f2:
        for i in f2:
            li = i.strip().split()
            for j in li:
                KeyVal = j.split(':')
                dic.setdefault(KeyVal[0], KeyVal[1])
            lis.append(dic)
            dic = {}
    print(lis)
    View Code

    4,文件a2.txt内容:每一行内容分别为商品名字,价钱,个数。

    文件内容:
    序号     部门      人数      平均年龄      备注
    1       python    30         26         单身狗
    2       Linux     26         30         没对象
    3       运营部     20         24         女生多
    通过代码,将其构建成这种数据类型:
    [{'序号':'1','部门':Python,'人数':30,'平均年龄':26,'备注':'单身狗'},
    ......]

    li = []
    with open('a2.txt',encoding='utf-8')as f1:
        key = f1.readline().strip().split()
        for i in f1:
            val = i.strip().split()
            dic = dict(zip(key,val))
            li.append(dic)
    print(li)
    View Code
  • 相关阅读:
    移动端touch事件获取事件坐标
    详解webpack中的hash、chunkhash、contenthash区别
    textarea placeholder 设置主动换行
    js-xlsx的使用
    关于Blob对象的介绍与使用
    spring boot zuul集成kubernetes等第三方登录
    Spring Boot 获取yaml配置文件信息
    spring boot @Value源码解析
    java.lang.StackOverflowError解决
    Jpa 重写方言dialect 使用oracle / mysql 数据库自定义函数
  • 原文地址:https://www.cnblogs.com/yzxing/p/8669877.html
Copyright © 2011-2022 走看看