Python程序设计教程 练习题一

本文提供四个Python编程练习题,涉及列表推导式的应用。包括输入5个整数并处理大于平均值的元素,生成1到4组成的每位数不同的三位数列表,删除给定列表中所有奇数,以及百钱买百鸡问题的解决方案。

Python程序设计教程 练习题一

  1. 输人5个整数放到列表list1 中,输出下标及值,然后将列表listl 中大于平均值的元素组成一个新列表list2,输出平均值和列表list2。请利用列表推导式解决该问题。
print("输入5个整数")
list1 = []
for i in range(5):
   n = int(input("输入第"+str(i+1)+"个:"))
   list1.append(n)
avg = sum(list1)/len(list1)
list2 = [i for i in list1 if i>avg]
print("平均值:",avg)
print(list2)
  1. 编写程序,将由1、2、3、4这4个数字组成的每位数都不相同的所有三位数存人一个列表中并输出该列表。请利用列表推导式解决该问题。
a = [1,2,3,4]
b = [i*100+j*10+x for i in a for j in a for x in a if i != j and j != x and i != x ]
print(b)
  1. 编写程序,给定列表[1,9,8,7,6,5,13,3,2,1].先输出原列表,删除其中所有奇数后再输出。请利用列表推导式解决该问题。
list1=[1,9,8,7,6,5,13,3,2,1]
print("列表:",list1)
list1=[i for i in list1 if i%2==0]
print("删除其中所有奇数:",list1)

  1. 百钱买百鸡: -只公鸡5元钱,一只母鸡3元钱,三只小鸡1元钱,现在要用100元钱买100只鸡,问公鸡、母鸡、小鸡各多少只?请利用列表推导式解决该问题。
for i in range(0,100):
    for j in range(0,100):
        for x in range(0,100):
            if 5*i+j*3 + x/3 == 100 and i+j+x == 100:
                print("公鸡:","母鸡:","小鸡:",i,j,x)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值