• 作业八.


    1.将names = ['egon','alex_sb','wupeiqi','yuanhao']中的名字全部变大写

    names = ['egon','alex_sb','wupeiqi','yuanhao']
    new_names = []
    new_names = [name.upper() for name in names]
    print(new_names)


    2.将names = ['egon','alex_sb','wupeiqi','yuanhao']中以sb结尾的名字过滤掉,然后保存剩下的名字
    names = ['egon','alex_sb','wupeiqi','yuanhao']
    names = [name for name in names if not name.endswith('sb')]
    print(names)


    3.求文件中a.txt中最长的行的长度(长度按字符个数算,需要使用max函数)
    with open('a.txt',encoding='utf-8') as f:
        print(max(len(line) for line in f))

    4.求文件a.txt中总共包含的字符个数.思考为何在第一次之后的n次sum求和得到的结果为0?
    with open('a.txt',encoding='utf-8') as f:
        print(sum(len(line) for line in f))

    5.思考题
    因为关闭了文件上的io 操作


    6.文件shopping.txt内容如下
    mac,20000,3
    lenovo,3000,10
    tesla,1000000,10
    chicken,200,1
    求总共花了多少钱?
    打印出所有商品的信息,格式为[{'name':'xxx','price':333,'count':3..}]
    求单价大于10000的商品信息,格式同上


    with open('shopping.txt','rt',encoding='utf-8') as f:
    info = [line.split()for line in f]
    a = sum(float(p)*int(c) for p,c in info)
    print(a)


    with open('shopping.txt','rt',encoding='utf-8') as f:
    for line in f:
    a = [{'name':line.strip(' ').split(',')[0],
    'price':line.strip(' ').split(',')[1],
    'count':line.strip(' ').split(',')[2]}]
    print(a)


    with open('shopping.txt','rt',encoding='utf-8') as f:
    for line in f:
    a = [{'name':line.strip(' ').split(',')[0],
    'price':line.strip(' ').split(',')[1],
    'count':line.strip(' ').split(',')[2]}]
    if int(line.strip(' ').split(',')[1]) > 10000:
    print(a)


    6.
    l=[1,2,10,30,33,99,101,200,301,311,402,403,500,900,1000]
    
    def search(n,l):
        print(l)
        if len(l) == 0:
            print('not exists')
            return
        mid_index=len(l) // 2
        if n > l[mid_index]:
            l=l[mid_index+1:]
            search(n,l)
        elif n < l[mid_index]:
            l=l[:mid_index]
            search(n,l)
        else:
            print('find it')
    
    
    search(3,l)



    l=[1,2,10,30,33,99,101,200,301,402]
    
    def search(num,l,start=0,stop=len(l)-1):
        if start <= stop:
            mid=start+(stop-start)//2
            print('start:[%s] stop:[%s] mid:[%s] mid_val:[%s]' %(start,stop,mid,l[mid]))
            if num > l[mid]:
                start=mid+1
            elif num < l[mid]:
                stop=mid-1
            else:
                print('find it',mid)
                return
            search(num,l,start,stop)
        else:
            print('not exists')
            return
    
    search(301,l)








  • 相关阅读:
    C++---继承和派生
    【解迷糊】关于PHP的extract()函数提取出的变量的作用域问题
    PHP常用内置函数记忆(持更)
    PHP数据类型转换
    在window把自己的项目上传到github
    github Desktop上传项目
    【终于明白】PHP加入命名空间的好处--方便自动加载
    PHP中session的使用方法和生命周期问题
    php
    PHP中include和require的区别详解
  • 原文地址:https://www.cnblogs.com/lvyipin1/p/9769379.html
Copyright © 2020-2023  润新知