Форум сайта python.su
0
ПРОДЕМОНСТРИРУЙТЕ РАБОТУ С ТЕКСТОВЫМИ ФАЙЛАМИ, А ТАКЖЕ СОЗДАНИЕ И ОБРАБОТКУ СЛОВАРЕЙ
1. задача
Создайте словарь, заполните минимально 10 словами, желательно, чтобы словарь получал данные из текстового файла.
В словарь необходимо добавлять новые слова, предложите диалог с пользователем на добавление новых слов, если сеанс добавления новых слов в словарь закончен, необходимо обновить текстовый файл, чтобы все новые слова соответственно были сохранены и в текстовом файле тоже.
Обязательно тестируйте свои решения (словарь, файл - распечатывайте)
2. задача
Создайте версию двуязычного словаря, протестируйте, что ваш двуязычный словарь работает тоже с данными из файла (вы вводите слово на любом языке и получаете перевод - предложите диалог с пользователем)
3. задача
Создайте тест для проверки знаний слов из словаря (случайным образом выбираются слова из словаря и пользователь должен ввести правильно перевод, считайте количество правильных ответов)
Задача 1 и 2 я уже выполнил. Но теперь у меня ступор с третьей. Начал создавать функцию и назвал ее test. И просто не знаю что делать дальше. Понятное дело что нужно использовать random и цикл. Но как?
Офлайн
294
както так:
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]
Офлайн