Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/40: Рейтинг темы: голосов - 40, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 20.03.2019
Сообщений: 68

Словарь и перебор циклом

22.10.2019, 13:52. Показов 8305. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрый день, можете пожалуйста помочь с решением данного задания? Комментарии в коде.

1) Создайте словарь из 3-х ключей «Hello», «Bуe» и «Lesson» и значениями соответственно «Здравствуй», «Пока» и «Урок».
2) В бесконечном цикле выводите случайное значение из словаря и просите пользователя написать перевод на английском.
3) Проверяйте на соответствие введённой пользователем строки и ключа словаря. Если пользователь ввёл всё правильно, то выводить ему следующее слово. Если неправильно, то сообщать ему об этом, и заново ждать от него уже другого ответа. И так до тех пор, пока он не введёт правильный ответ.
4) Если пользователь вводит команду «show», то вывести словарь.
5) Если пользователь вводит «quit», то завершать программу.

Примечание: не забывайте, что если пользователь будет писать, например: «hello», «Hello» или «HELlo» - то это всё считать правильными ответами.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import random
 
slovar = {'Hello': 'Здравствуй', 'Bye': 'Пока', 'Lesson':'Урок'}
keys = list(slovar.keys())
values = list(slovar.values())
slovar_2 = {} # добавлю сюда ответы и сравню с
while True:
        rand_value = random.choice(values)
        print(rand_value) # вывожу рандомно значение словаря slovar
        prompt = input("Напишите перевод слова на английском: ")
        if prompt == 'show':
                print(slovar) # если напишет show, то покажу словарь slovar
        elif prompt == 'quit':
                print('Завершение опроса')
                exit(0)
        else:
                try:
                        prompt = prompt.title()
 
                        # добавляю слово из prompt и рандомное значение в slovar_2
                        slovar_2.setdefault(prompt, rand_value)
 
                        # узнаю, есть ли слово из prompt в словаре slovar
                        get_slovar_word = slovar.get(prompt)
                        if get_slovar_word == None: # проблемное место
                        # если возвращает None
                                print('Неправильный перевод слова')
                                prompt_2 = input('Попробуйте еще: ')
                                # потом пишу хоть правильное, хоть нет выдает следующее рандомное
                                # значение словаря slovar
                        else:
                                # Если в первый раз пишу правильный ключ, то сразу выдает следующее
                                # рандомное значение словаря slovar и пишет Правильно
                                print('Правильно')
                except Exception as exp:
                        while exp:
                                print(exp)
# Также при вводе show и quit выполняется то, что нужно, пока не попал в проблемное место
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.10.2019, 13:52
Ответы с готовыми решениями:

Создать словарь из фрейма циклом
Добрый день! Подскажите как создать словарь из фрейма с помощью цикла? Пока всё делаю вручную import pandas as pd f1 =...

Перебор циклом while
Добрый вечер.Условие моей задачи таково Построить сплайн параболический. Построить график и отметить на нём узлы интерполяции. Моя...

Перебор массива циклом
Добрый день. Столкнулся с такой проблемой как перебор массива циклом. Долгое время не могу правильно сделать. Есть массив $massiv =...

2
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
22.10.2019, 14:35
Лучший ответ Сообщение было отмечено Bigthanks как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import random
 
 
slovar = {'Hello': 'Здравствуй', 'Bye': 'Пока', 'Lesson':'Урок'}
rand_value = random.choice(list(slovar.values()))
 
while True:
    print(rand_value) # вывожу рандомно значение словаря slovar
    prompt = input("Напишите перевод слова на английском: ")
    if prompt == 'show':
        print(slovar) # если напишет show, то покажу словарь slovar
    elif prompt == 'quit':
        print('Завершение опроса')
        exit(0)
    else:
        if slovar.get(prompt.title()) == rand_value:
            print('Правильно')
            rand_value = random.choice(list(slovar.values()))
        else:
            print('Неправильный перевод слова. Попробуйте еще.')
1
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
22.10.2019, 14:38
Bigthanks, а этот код работает? навскидку что-то не так с отступами
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.10.2019, 14:38
Помогаю со студенческими работами здесь

Перебор циклом файлов в каталоге
Доброго времени суток. Как пройтись циклом по файлам в папке?

Перебор коллекции объектов циклом for each
Есть разные объекты на форме. Нужно перебрать в цикле for each Добавлено через 18 минут уже неактуально))) Добавлено через 21...

Перебор двух массивов циклом while не работает
Помогите разобраться! Задача следующая, вытянуть из одной бд данные и записать их в индексированный массив, таких массивов будет столько...

Перебор ячеек таблицы MS Word циклом for
Доброго времени суток! Столкнулся с такой проблемой: проверяю ячейки таблицы word на наличие определенной записи,все идёт хорошо до...

Массив элементов веб-страницы перебор циклом
Здравствуйте! Подскажите пожалуйста, почему выходит такая ошибка?: jquery.min.js:2 Uncaught TypeError: tab.forEach is not a function ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru