课本基础练习~~~~~偶尔上线刷课本啦!
Ⅰ.输入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给它们一个温暖的窝!')