python基础(17)

一、作业代码。

# 1.用map来处理字符串列表,把列表中所有人都变成sb,比方alex_sb
name=['alxx','wup','yuaao','nzha']
ret = map(lambda item:item + "_sb",name)
print(list(ret))
name=['alxx','wup','yuaao','nzha']
def func(item):
    return item +"_sb"
ret =map(func,name)
print(list(ret))
# 2.用filter函数处理数字列表,将列表中所有的偶数筛选出来
num = [1,3,5,6,7,8]
ret = filter(lambda a:a%2 == 0,num)
print(list(ret))
# 3.随意写一个20行以上的文件
# 运行程序,先将内容读到内存中,用列表存储。
# 接收用户输入页码,每页5条,仅输出当页的内容
with open ("file",encoding="utf-8") as f:
    l = f.readlines()
    page_num = int(input('请输入页码:'))
    pages, mod = divmod(len(l), 5)
    if mod != 0:
        pages +=1
    if page_num > pages or page_num <= 0:
        print('输入错误:')

    elif page_num == pages and mod != 0:
        for i in range(mod):
            print(l[(page_num-1)*5+i])
    else:
        for i in range(5):
            print(l[(page_num-1)*5+i])
# 4.如下,每个小字典的name对应股票名字,shares对应多少股,price对应股票的价格
portfolio = [
    {'name': 'IBM', 'shares': 100, 'price': 91.1},
    {'name': 'AAPL', 'shares': 50, 'price': 543.22},
    {'name': 'FB', 'shares': 200, 'price': 21.09},
    {'name': 'HPQ', 'shares': 35, 'price': 31.75},
    {'name': 'YHOO', 'shares': 45, 'price': 16.35},
    {'name': 'ACME', 'shares': 75, 'price': 115.65}
]
# 1.计算购买每支股票的总价
ret = map(lambda dic_1:{dic_1["name"]:round(dic_1["shares"]*dic_1["price"],2)}, portfolio)
print(list(ret))
# .2.用filter过滤出,单价大于100的股票有哪些
#ret = filter(lambda dic:True if dic["price"] > 100 else False,portfolio)
ret = filter(lambda dic:dic["price"] > 100, portfolio)
print(list(ret))

二、递归函数

1、初识递归

# def story():
# print('从前有座山')
# story()
# print(111)
#
# story()

#RecursionError: maximum recursion depth exceeded while calling a Python object
# 递归的错误,超过了递归的最大深度

  # 了解什么是递归  : 在函数中调用自身函数

2、教你看递归。

ef age(n):
    if n == 4:
        return 40
    elif n >0 and n < 4:
        age(n+1) + 2
#
print(age(1))

# # 教你看递归
# def age(1):
#     if 1 == 4:
#         return 40
#     elif 1 > 0 and 1 < 4:
#         return 46
#
# def age(2):
#     if 2 == 4:
#         return 40
#     elif 2 >0 and 2 < 4:
#         age(3) + 2    None +2
#
# def age(3):
#     if 3 == 4:
#         return 40
#     elif 3 >0 and 3 < 4:
#         42
#
# def age(4):
#     if 4 == 4:
#         return 40
#     elif n >0 and n < 4:
#         age(n+1) + 2

猜你喜欢

转载自www.cnblogs.com/qukouxiaoxue/p/9610888.html
今日推荐