Форум сайта python.su
Здравствуйте, я совсем новичок в python.
Решил попробовать себя на конкретной задаче словарь англо-русский. Взял за основу вот эту публикацию https://www.unix-lab.org/posts/pydict/ - пример второй. Создал 3 файла, которые сохранил в пайтон директории:
1)База данных words_db
# words_db.py #!/usr/bin/env python # -*- coding:utf-8 -*- import shelve db = shelve.open('db_file') db['earth']='земля' db['word']='слово' db['catch']='ловить' db['find']='искать' db.close()
# dump_words_db.py #!/usr/bin/env python # -*- coding:utf-8 -*- import shelve db=shelve.open('db_file') print('Yes')
# start_programm.py #!/usr/bin/env python # -*- coding:utf-8 -*- import shelve db=shelve.open('db_file') def eng(): eng_words=dict([[v, k] for k,v in db.items()]) find_word=input('Enter word ' '') print(eng_words.get(find_word) or print('No such key')) def rus(): key=input('Введите слово ' '') print (db.get(key) or 'Искомое слово не найдено') def newRecord(): newkey=input('Ввести новое слово ' '') newvalue=input('Ввести перевод ' '') db[newkey] = newvalue db.update() db.close() if __name__ == '__main__': start=input('Найти английский перевод русского слова? введите "y" или "n" ' '') if start == 'y': eng() elif start == 'n': rus() elif start == 'u': newRecord() else: print('До встречи')
Отредактировано baitle (Авг. 14, 2021 20:44:02)
Офлайн
baitleДля начала код который выложили поместите в теги code. Так никто смотреть не удет.
Подскажите что я делаю не так?
Офлайн
doza_and
Здравствуйте, я совсем новичок в python.
Решил попробовать себя на конкретной задаче словарь англо-русский.
doza_andТвои вопросы отпадут сами собой,если ты объяснишь, что делает каждая строчка твоего кода.Если не сможешь,то эту задачу тебе рано делать,начни с основ
Подскажите что я делаю не так?
Офлайн
baitle1. Научись запускать код без IDLE.
Подскажите что я делаю не так?
Офлайн