Ребята помогите пожалуйста сижу на контрольной

albertik

Новичок
Пользователь
Апр 23, 2020
5
0
1
РЕБЯТА ПОМОГИТЕ МАКСИМАЛЬНО ОПЕРАТИВНО ПОЖАЛУЙСТА
Нужно написать программу которая распределит лекарства по вкусам.
Вводятся строки, в которых сначала написано лекарство, а потом через двоеточие и пробел его вкус.

Формат вывода
Для каждого вкуса записать список всех лекарств с таким вкусом через символ # без повторений в формате:
Вкус - лекарство # лекарство # лекарство...

Каждый вкус выводить с новой строки. Порядок следования вкусов и лекарств не важен.

Пример 1

Ввод:
white powder: bitter
sugar cube: sweet
medicine: bitter
lemon juice: sour
medicine: bitter

Вывод:
bitter - medicine # white powder
sweet - sugar cube
sour - lemon juice

Пример 2

Ввод:
caramel: honey
chatterbox: milk
eggnog: milk
tincture: bitter
caramel: sweet

Вывод:
honey - caramel
milk - chatterbox # eggnog
bitter - tincture
sweet - caramel
 

ValeraSafin

Новичок
Пользователь
Апр 23, 2020
5
3
3
Python:
data = {}

while True:
  userInput = input('Введите лекарство или его вкус. Чтобы закончить ввод введите "-"\n')
  if userInput != "-":
    drug, taste = userInput.split(":")
    drug, taste = drug.strip(), taste.strip()
    if taste in data:
      data[taste].append(drug)
    else:
      data[taste] = [drug]
  else:
    break

for key in data:
  print(f"{key} - {' # '.join(data[key])}")
 
  • Мне нравится
Реакции: Student

albertik

Новичок
Пользователь
Апр 23, 2020
5
0
1
Python:
data = {}

while True:
  userInput = input('Введите лекарство или его вкус. Чтобы закончить ввод введите "-"\n')
  if userInput != "-":
    drug, taste = userInput.split(":")
    drug, taste = drug.strip(), taste.strip()
    if taste in data:
      data[taste].append(drug)
    else:
      data[taste] = [drug]
  else:
    break

for key in data:
  print(f"{key} - {' # '.join(data[key])}")

почему то не проходит ошибка runtime-error
 

ValeraSafin

Новичок
Пользователь
Апр 23, 2020
5
3
3
почему то не проходит ошибка runtime-error
Это странно, так как я тестировал этот код на https://repl.it/languages/python3 и там он работает
 

albertik

Новичок
Пользователь
Апр 23, 2020
5
0
1
Это странно, так как я тестировал этот код на https://repl.it/languages/python3 и там он работает
блин ну ладно, что делать не знаю. есть ещё одна задача, если сможешь помоги а
 

albertik

Новичок
Пользователь
Апр 23, 2020
5
0
1
Этот Деревянный Человечек, – продолжал Говорящий Сверчок, – продувной негодяй…
Пиноккио открыл глаза и сразу же закрыл их.
– …мошенник, бездельник, бродяга…
Пиноккио натянул простыню себе на голову.
– …этот Деревянный Человечек – непослушный мальчишка!
Какие нелестные эпитеты! Как же стыдно Пиноккио! Но рыданиями делу не поможешь.
Напишите функцию truth_hurts(tdlist, *args, **kwargs), которая отсортирует элементы переданного двумерного списка по переданным ключам и этим поможет деревянному человечку встать на путь исправления.
В функцию передаются аргументы:
  • двумерный список;
  • произвольное число кортежей, в которых записан ключ сортировки и индекс элемента списка;
  • произвольное число именованных аргументов, в которых определены ключи сортировки.
Если в кортеже присутствует ключ, не определенный в именованных аргументах, то сортировка этого элемента не производится.
Функция возвращает отсортированный двумерный список.
Пример 1
ВводВывод
print(*truth_hurts(
[
['blowout', 'scoundrel'],
['a crook', 'a bum', 'a tramp'],
['naughty', 'boy']
],
('length', 1),
('abracodabra', 0),
('abc', 2),
length=lambda x: len(x),
abc=lambda x: x,
overturn=lambda x: x[::-1]
), sep='\n')
['blowout', 'scoundrel']
['a bum', 'a crook', 'a tramp']
['boy', 'naughty']
Пример 2
ВводВывод
print(*truth_hurts(
[
[1984, 31, -15, 42],
[-2020, -1980, 34, 16, 54],
[35, 63, 22, 91],
[21, 121, -5]
],
('overturn', 2),
('negative', 0),
('abc', 1),
('length', 3),
length=lambda x: (len(str(x)), -x),
abc=lambda x: x,
negative=lambda x: -x,
overturn=lambda x: int(str(x)[::-1])
), sep='\n')
[1984, 42, 31, -15]
[-2020, -1980, 16, 34, 54]
[91, 22, 63, 35]
[21, -5, 121]
 

Форум IT Специалистов