Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 14, 2017 14:13:01

unicteine
Зарегистрирован: 2017-03-13
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с заданием на словари.

ПРОДЕМОНСТРИРУЙТЕ РАБОТУ С ТЕКСТОВЫМИ ФАЙЛАМИ, А ТАКЖЕ СОЗДАНИЕ И ОБРАБОТКУ СЛОВАРЕЙ
1. задача
Создайте словарь, заполните минимально 10 словами, желательно, чтобы словарь получал данные из текстового файла.
В словарь необходимо добавлять новые слова, предложите диалог с пользователем на добавление новых слов, если сеанс добавления новых слов в словарь закончен, необходимо обновить текстовый файл, чтобы все новые слова соответственно были сохранены и в текстовом файле тоже.
Обязательно тестируйте свои решения (словарь, файл - распечатывайте)
2. задача
Создайте версию двуязычного словаря, протестируйте, что ваш двуязычный словарь работает тоже с данными из файла (вы вводите слово на любом языке и получаете перевод - предложите диалог с пользователем)
3. задача
Создайте тест для проверки знаний слов из словаря (случайным образом выбираются слова из словаря и пользователь должен ввести правильно перевод, считайте количество правильных ответов)

Задача 1 и 2 я уже выполнил. Но теперь у меня ступор с третьей. Начал создавать функцию и назвал ее test. И просто не знаю что делать дальше. Понятное дело что нужно использовать random и цикл. Но как?

Офлайн

#2 Сен. 14, 2017 16:11:50

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Помогите с заданием на словари.

както так:

 import random
d = dict(one = 'один', two = 'два',three = 'три',four = 'четыре', five = 'пять')
count=0 # счетчик правильных ответов
total = 3 # сколько задаем вопросов
tempList = [] # список слов которые уже задавли, чтобы избежать повтора слов при одном тестировании
for i in range(total):
    while True: # тут мы случайно выбираем слово из словаря, 
        key = random.choice(list(d.keys()))
        if key not in tempList: #Если такое слово уже задавали, еще раз выбираем
              tempList.append(key)
              break
    result = input('Переведи: "{}"'.format(key))
    if result == d[key]:
        count += 1
print('Правильных ответов: {} из {}'.format(count, total))



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version