python课本基础练习——列表推导式

课本基础练习~~~~~偶尔上线刷课本啦!


Ⅰ.输入5个整数放到列表lisi1中,输出下标及值, 然后将列表(list1)中大于平均值的元素, 组成一个新列表(list2),输出平均值和列表list2。 请利用列表推导式解决该问题。
代码呈现:

while True:
    try:
        user_input = input('请输入任意整数构成列表(以空格分隔): ')
        list1 = [int(num) for num in user_input.split()]
        average_list1 = sum(list1) / len(list1)

        for i, val in enumerate(list1):
            print(i, val)


        def new(list1):
            return [i for i in list1 if i > average_list1]


        list2 = new(list1)
        average_list2 = sum(list2) / len(list2) if list2 else 0

        print(f'list2是{list2},'
              f'其平均数是{average_list2}')

        input_continue = input('点(Y/y)继续输入:')
        if input_continue != 'Y' and input_continue != 'y':
            print('你这就走了,像是下了某种决定!')
            break
    except Exception as e:
        print('犯错啦!!!', e)
        print('要按要求输入列表呢!!!')
print('\n\n')


Ⅱ.编写程序,给定列表[1,9,8,7,6,5,13,3,2,1], 先输出原列表,删除其中所有奇数后再输出列表。 请利用列表推导式解决该问题。
代码呈现:

while True:
    try:
        user_input = input('请输入任意整数构成列表(以,分隔): ')
        list1 = [int(num) for num in user_input.split(',')]

        def new(list1):
            return [i for i in list1 if i % 2 == 0]

        list2 = new(list1)
        print(list2)

        input_continue = input('点(Y/y)继续输入:')
        if input_continue != 'Y' and input_continue != 'y':
            print('我妈也不让我和你玩!')
            break
    except Exception as e:
        print('犯错啦!!!', e)
        print('要按要求输入列表呢!!!')
print('\n\n')


Ⅲ.百钱买百鸡问题。
一只公鸡售价5元,一只母鸡售价3元,三只小鸡售价1元, 现在要用一百元钱买一百只鸡,问公鸡、母鸡、小鸡各可买多少只? 请利用列表推导式解决该问题。
代码呈现:

project = [(x, y, 100 - x - y) for x in range(0, 21) for y in range(0, 34) if 5*x + 3*y + (100 - x - y)/3 == 100]

for x, y, z in project:
    print(f'公鸡数量: {x}, 母鸡数量: {y}, 小鸡数量: {z}'
          f'\n给它们一个温暖的窝!')

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值