Розбираємо цікаве завдання про словник
Простий Пайтон – програміст працює з ним щодня
Простий Пайтон. Одна із складових діяльності програміста – це навчання. Вік живи, а вік навчайся – це точно для майстрів айті-сфери. Тому сьогодні ми пропонуємо своїм читачам перевірити свої сили та вирішити одне цікаве завдання про словник. Якщо вважаєте, що вам це під силу – скоріше приступайте до рішення! Умови:
Вхідні дані:
3
apple – malum, pomum, popula
fruit – baca, bacca, popum
punishment – malum, multa
Вихідні дані:
7
baca – fruit
bacca – fruit
malum – apple, punishment
multa – punishment
pomum – apple
popula – apple
popum – fruit
Вище ви бачите приклад однієї з олімпіадних завдань, які пропонують рішення молодим програмістам. Її суть у тому, щоб перетворити з англо-латинського словника латино-англійську. Спершу спробуйте вирішити її самі. Якщо щось не вийде, підгляньте рішення GoMother.
Всі наші хлопці знають про вирішення таких завдань. Справа в тому, що на уроках ми не записуємо нудні конспекти і не повторюємо той самий матеріал сотні разів. На думку фахівців GoMother, навчання має бути цікавим і легким. Інакше це не навчання, а примус.
Якщо ви хочете креативності, створення цікавих проектів, любите малювати на графічному планшеті або мрієте розробляти ігри – чекаємо на вас в офісі на м.Житомирська та м.Академмістечко.
Розв’язання задачі для простий Пайтон
Що ж, сподіваємось, у тебе вийшло придумати своє рішення. В іншому випадку, не варто засмучуватися – практикуйся і в інший раз все обов’язково вийде.
f = open(‘input.txt’)
N = f.readline()
d = {}
for line in f:
words = line.strip().split(‘ – ‘)
en = words[0]
lat = words[1].split(‘, ‘)
for key in lat:
if key in d:
d[key].append(en)
else:
d[key] = [en]
f.close()
for key in d:
d[key].sort()
g = open(‘output.txt’, ‘w’)
g.write(str(len(d)) + ‘\n’)
for lat in sorted(d):
g.write(lat + ‘-‘ + ‘, ‘.join(d[lat]) + ‘\n’)
g.close()
Пояснимо програмування на Python
Відкрийте файл та прочитайте число N (воно нам не знадобиться); також створіть порожній словник.
Відокремте слово від його перекладів; з рядка з перекладами отримайте список латинських слів.
Далі перевірте, чи є латинське слово у словнику. Якщо є, допишіть ще один англійський переклад. Якщо ні – впишіть його. Після махінацій закрийте файл. Далі потрібно всі списки перекладів відсортувати (як вимагається від нас умов завдання).
Відкрийте файл для запису. Першим рядком запишіть кількість слів, що виходять. Далі у відсортованому порядку запишіть латинські слова, а потім їх переклади. Закрийте файл.
Python розробка: де навчать?
Ось і все) Звичайно, варіантів існує маса, але цей – один із найестетичніших в оформленні. У нашій школі ми розповімо ще кілька варіантів – приходьте на пробне безкоштовне заняття та випробувайте себе!