zoukankan      html  css  js  c++  java
  • 声明式编程题

    声明式编程练习题:

    1、将names=['egon','alex_sb','wupeiqi','yuanhao']中的名字全部变大写
    names = ['egon', 'alex_sb', 'wupeiqi', 'yuanhao'] # 方式一:手动实现 new_names = [] for line in names: new_names.append(line.swapcase()) print(new_names) # 方式二:列表生成式 new_names = [line.swapcase() for line in names] print(new_names) # 方式三:map+匿名函数 res = map(lambda line: line.swapcase(), names) print(list(res)) names = [name.upper() for name in names] print(names)

    2、将names=['egon','alex_sb','wupeiqi','yuanhao']中以sb结尾的名字过滤掉,然后保存剩下的名字长度
    names = ['egon', 'alex_sb', 'wupeiqi', 'yuanhao'] new_names = [] for line in names: if not line.endswith('sb'): new_names.append(line) print(new_names) new_names = [len(line) for line in names if not line.endswith('sb')] print(new_names) res = filter(lambda line: not line.endswith('sb'), names) print(list(res)) 3、求文件a.txt中最长的行的长度(长度按字符个数算,需要使用max函数)
    file = [] with open('a.txt', 'rt', encoding='utf-8')as f: for line in f: res = f.read() # print(res) res = res.split(' ') file.append(res) print(file) def funcs(x): return len(x) res = max(file, key=funcs) print(res) res2 = max(res, key=funcs) print(len(res2)) print(max(len(line) for line in f)) 4、求文件a.txt中总共包含的字符个数?思考为何在第一次之后的n次sum求和得到的结果为0?(需要使用sum函数)
    with open('a.txt', 'rt', encoding='utf-8')as f: print(sum(len(line) for line in f)) print(sum(len(line) for line in f)) # 求包换换行符在内的文件所有的字符数,为何得到的值为0? 5、思考题
    with open('a.txt') as f: g = (len(line) for line in f) print(sum(g)) # 为何报错? with open('a.txt') as f: print(sum(len(line) for line in f)) print(sum(g)) # 为何报错?(len(line) for line in f)时循环多个值 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.strip(' ').split(',') for line in f] print(info) cost = sum(float(unit_price) * int(count) for _, unit_price, count in info) print(cost) with open('shopping.txt', 'rt', encoding='utf-8') as f: # for line in f: # print(line) info = [{'name': line.strip(' ').split(',')[0], 'price': int(line.strip(' ').split(',')[1]), 'count': int(line.strip(' ').split(',')[2])} for line in f] print(info) with open('shopping.txt', encoding='utf-8') as f: info = [{'name': line.strip(' ').split(',')[0], 'price': int(line.strip(' ').split(',')[1]), 'count': int(line.strip(' ').split(',')[2])} for line in f if int(line.strip(' ').split(',')[1]) > 10000] print(info)
  • 相关阅读:
    C++ class内的 ++ 重载,左++,右++,重载示例。
    C++ class外的 << 重载,输出流,重载示例。不应该定义类内的<<重载
    C++ class内的 < 和 > 重载,大于号,小于号,重载示例。
    C++ class外的==重载,判断相等,测试等于,重载示例。二元操作符
    C++ class内的==重载,判断相等,测试等于,重载示例。二元操作符
    C++ 回调函数 Callback 机制例程
    C++ trais技术 模板特化的应用
    C++ class 中的 const 成员函数
    linux 安装 Samba服务
    添加/删除FTP用户并设置权限
  • 原文地址:https://www.cnblogs.com/xuechengeng/p/9780295.html
Copyright © 2011-2022 走看看