Top.Mail.Ru
Ответы

Python срочн даю 200 руб

ы увидели шпили затонувших небоскребов, торчащие из волн. Под напором прилива пенящаяся морская вода выплескивалась из их бесчисленных окон, образуя водопады. Еще до окончания Эры торможения ее влияние на Землю стало ужасающе очевидным. Приливы, созданные ускорением Двигателей Земли, затопили две трети крупных городов Северного полушария. Потом повышение глобальной температуры растопило шапки полярных льдов, и это превратило наводнения в катастрофу, захватившую и Южное полушарие. Фактически наша планета уже изменилась до неузнаваемости еще до того, как отправилась в путешествие.

Напишите программу для записи информации о зданиях, которые ещё не успели затонуть, в словарь:
ключ – индекс строки, значение – буквы самого длинного слова этой строки (если таких несколько, то меньшего лексикографически из них), записанные в верхнем регистре без повторений в произвольном порядке.

Формат ввода
Вводится количество строк, затем сами строки слов, записанных через произвольное количество пробелов.

Формат вывода
Вывести словарь (форматировать его вывод не нужно).
пример1
ввод
4
The nozzles of the engines
had to be very precisely oriented
so that the massive rays
cut through the sky at certain angles
вывод
{
0: 'NSGEI',
1: 'YCSERLPI',
2: 'SAVEMI',
3: 'CTNAERI'
}
пример2
ввод
6
We saw the spires of sunken skyscrapers
sticking out of the waves
Under the pressure of the tide
foaming seawater splashed out
of their countless windows
forming waterfalls
вывод
{
0: 'YCSAEKRP',
1: 'CTSNGKI',
2: 'SUERP',
3: 'TSAERW',
4: 'CTONSUEL',
5: 'TSAERFLW'
}

По дате
По Рейтингу
Аватар пользователя
Гуру

# Функция для нахождения самого длинного слова в строке
def longest_word(line):
# Разбиваем строку на слова по пробелам
words = line.split()
# Инициализируем максимальную длину и самое длинное слово
max_len = 0
max_word = ""
# Перебираем все слова в строке
for word in words:
# Если длина слова больше максимальной
if len(word) > max_len:
# Обновляем максимальную длину и самое длинное слово
max_len = len(word)
max_word = word
# Если длина слова равна максимальной
elif len(word) == max_len:
# Сравниваем слова лексикографически и выбираем меньшее
if word < max_word:
max_word = word
# Возвращаем самое длинное слово
return max_word

# Функция для получения букв слова в верхнем регистре без повторений
def unique_letters(word):
# Инициализируем множество для хранения букв
letters = set()
# Перебираем все буквы в слове
for letter in word:
# Добавляем букву в верхнем регистре в множество
letters.add(letter.upper())
# Возвращаем строку, составленную из букв множества
return "".join(letters)

# Функция для создания словаря по заданным условиям
def create_dict(lines):
# Инициализируем словарь для хранения результата
result = {}
# Перебираем все строки по индексу и значению
for index, line in enumerate(lines):
# Находим самое длинное слово в строке
word = longest_word(line)
# Получаем буквы слова в верхнем регистре без повторений
letters = unique_letters(word)
# Добавляем пару индекс-буквы в словарь
result[index] = letters
# Возвращаем словарь
return result

# Считываем количество строк
n = int(input())
# Считываем строки в список
lines = []
for i in range(n):
lines.append(input())
# Создаем словарь по заданным условиям
dictionary = create_dict(lines)
# Выводим словарь
print(dictionary)