7. Easter Gifts
Здравейте, имам проблем с задача 07.Easter Gifts от Exercise-a на List Basics. Всичко ми изглежда наред, само че последните 3 теста гърмят.
Условието на задачата е:
Моето решение:
Здравейте, имам проблем с задача 07.Easter Gifts от Exercise-a на List Basics. Всичко ми изглежда наред, само че последните 3 теста гърмят.
Условието на задачата е:
Моето решение:
Здравей колега,
след 14 тия ти ред сложи проверката if len(gifts) > index >= 0: и трябва да минават тестовете
Както колегата @niyazihasan е отбелязал, имахте проблем с индексацията.
Не е удачно да се разчита на интерпретатора да хвърли ексепшън, вместо да се валидират входните данни.
Оправеното решение:
gifts = input().split(' ')
command = input().split(' ')
while command[0] != 'No' and command[1] != 'Money':
index = 0
if command[0] == 'OutOfStock':
gift = command[1]
gifts = list(map(lambda lst: lst.replace(gift, "None"), gifts))
elif command[0] == 'Required':
index = int(command[2])
if 0 < index < len(gifts):
gifts[index] = command[1]
elif command[0] == 'JustInCase':
gifts[-1] = command[1]
command = input().split(' ')
while 'None' in gifts:
gifts.remove('None')
for i in gifts:
print(i, end=' ')
Благодаря Ви колеги, за помощта. Разбрах къде греша.
gifts = input().split() command = input() while not command == "No Money": command = command.split() if "OutOfStock" in command: for i in range(len(gifts)): if command[1] in gifts[i]: gifts[i] = "None" elif "Required" in command: for i in range(len(gifts)): if i == int(command[2]): gifts[i] = command[1] elif "JustInCase" in command: gifts[-1] = command[1] command = input() while "None" in gifts: gifts.remove("None") for i in gifts: print(i, end=" ")
Здравей колега, направих промените, но последните тестове пак гърмят.
Моят код:
https://pastebin.com/DGc821nz
Размени местата на проверката и index:
index = int(command[2])
if len(gifts) > index >= 0: