本文主要是介绍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 0print(f'list2是{list2},'f'其平均数是{average_list2}')input_continue = input('点(Y/y)继续输入:')if input_continue != 'Y' and input_continue != 'y':print('你这就走了,像是下了某种决定!')breakexcept 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('我妈也不让我和你玩!')breakexcept 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给它们一个温暖的窝!')
这篇关于python课本基础练习——列表推导式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!