Где ошибка в моем решении? Задача Яндекс
Всем привет! Начинаю учить python, решаю задачу из Яндекса, выполняю в PyCharm - все работает, отправляю на проверку - получаю 0 баллов. Заранее простите за код.
На витрине магазина в один ряд выложены сладости с различными названиями, занумерованные с единицы слева-направо. Мимо витрины часто проходят дети и просят родителей купить им все сладости начиная с номера li и заканчивая номером ri. Директор магазина хочет составить отчет, в котором будут указаны названия всех купленных сладостей в том порядке, как их покупали. Сначала в списке должны быть перечислены сладости, купленные первому ребенку, затем второму и так далее. Для каждого ребенка сначала покупается сладость с номером li, затем li + 1 и так далее до номера ri. Формат ввода Первая строка ввода содержит целое число n — число различных типов сладостей (1 ≤ n ≤ 1000). Следующие n строк названия сладостей, состоящие из строчных и прописных латинских букв, цифр и символов «_» и «.». Названия не превышают 100 символов. Следующая строка содержит m — число покупок (1 ≤ m ≤ 1000). Следующие m строк содержат по два целых числа li и ri — номер первой и последней сладости, купленной i-му ребенку (1 ≤ li ≤ ri ≤ n).
Формат вывода: Выведите список сладостей в отчете директора.
def get_number(list):
i = 0
for element in list:
i = i + 1
return i
def create_number_elements_in_list(list):
new = []
i = 0
for element in list:
new.append(i)
i += 1
return new
sladosti = []
n = int(input())
while n > get_number(sladosti):
sladosti.append(input())
get_number(sladosti)
while True:
bought = int(input())
if bought > 1 or bought < 1000:
break
else:
continue
pokupki = []
i = 0
pod_i = 0
while bought != 0:
new_pokupka = [int(input()), int(input())]
pokupki.append(new_pokupka)
i = i + 1
bought -= 1
index = 0
for spisok in pokupki:
spisok = pokupki[index]
under_indx = 0
for element in spisok:
element = spisok[under_indx]
element -= 1
spisok[under_indx] = element
under_indx += 1
pokupki[index] = spisok
index += 1
new_list = create_number_elements_in_list(sladosti)
index = 0
while get_number(pokupki) > index: # цикл работы пока не переберутся все списки
for spisok in pokupki: # перебираем списки внутри списка
spisok = pokupki[index] # присваиваем переменной список по порядку
under_indx = 0 # индекс для работы с елементами под списка
for element in spisok: # перебираем элементы списка
ux_indx = 0
element = spisok[under_indx] # присваиваем переменной значение элемента списка
for parts in new_list: # перебираем элементы списка (представляющего собой порядковые номера конфет)
parts = new_list[ux_indx] # присваиваем переменной значение порядкового номера конфеты
if parts == element: # проверяем является ли купленый элемент 1, затем 2, затем 3 элементом списка
print(sladosti[parts])
ux_indx += 1
else:
ux_indx += 1
continue
under_indx += 1
index += 1
Ответы (1 шт):
Собираем сладости в список и потом по номерам выводим в консоль. Результат для данного примера как в Информационные технологии / IT 10-11 классы / 10th and 11th Grades A. Сладости / Task A. Candy
# имитация ввода данных
inp = """3
Chocolate
Lollipop
Cake
2
2 3
1 2""".split('\n')
def input():
if inp: return inp.pop(0)
# конец имитации ввода данных
lst = [input() for _ in range(int(input()))]
for i in range(int(input())):
li, ri = map(int, input().split())
for p in range(li, ri + 1):
print(lst[p - 1])
Lollipop
Cake
Chocolate
Lollipop