|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.11.2024, 12:07 | #1 |
Пользователь
Регистрация: 31.05.2023
Сообщений: 22
|
Программирование на Python сопрограммы, корутины
Здравствуйте, помогите пожалуйста разобраться в коде не проходит тест выводит None вместо banana.
Словарь В вашем распоряжении имеется глобальная переменная DICTIONARY, представляющая собой словарь, где ключами являются английские буквы, а значениями - слова, начинающиеся с буквы ключа. Начальное заполнение DICTIONARY имеет следующий вид: DICTIONARY = { 'a': 'apple', 'b': 'banana', 'c': 'cat', 'd': 'dog', ... } Ваша задача — написать сопрограмму alphabet, в которую передаются буквы, а в ответ она генерирует слова, закрепленные переданной буквой из словаря DICTIONARY. Гарантируется, что в alphabet будут поступать значения, которые имеются в ключах словаря DICTIONARY. Сама переменная DICTIONARY вам в редакторе кода не видна, но вы можете обращаться к ней внутри сопрограммы alphabet. Sample Input 1: coro = alphabet() next(coro) print(coro.send('a')) print(coro.send('b')) print(coro.send('c')) Sample Output 1: apple banana cat Sample Input 2: coro = alphabet() next(coro) for letter in 'qwerty': print(coro.send(letter)) Sample Output 2: quail walrus elephant rabbit tiger yak Код:
|
11.11.2024, 20:16 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,374
|
Первый yield тоже возвращает значение (а именно None), так что нужно обойтись одним yield в цикле:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
11.11.2024, 20:55 | #3 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,345
|
С таким словарём:
Код:
Код:
Код:
Работает вроде, ... PS: Код сгенерировал на основе примера, полученного тут: https://sky.pro/wiki/python/naznache...ispolzovaniya/
Как-то так, ...
|
12.11.2024, 07:30 | #4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,374
|
Вот достаточно подробное объяснение взаимодействия next, send и yield - https://ru.stackoverflow.com/a/950451. А чтобы применить это объяснение к обсуждаемой задаче, нужно иметь ввиду, что тут не два отдельных yield (явно указанных в коде), а два yield с соседних итераций цикла (но в коде он один).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
13.11.2024, 11:04 | #5 |
Пользователь
Регистрация: 31.05.2023
Сообщений: 22
|
Благодарю за подсказку!!!!
|
13.11.2024, 11:06 | #6 |
Пользователь
Регистрация: 31.05.2023
Сообщений: 22
|
Благодарю вас очень помогли.
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программирование на Python | Nicodim | Помощь студентам | 5 | 05.11.2024 13:18 |
Программирование на Python Задача на программирование покрытие отрезками | Nicodim | Помощь студентам | 2 | 29.12.2023 21:19 |
Программирование в Python | fyz abkbvjyjdf | Помощь студентам | 1 | 17.12.2022 11:34 |
Программирование на python | Семен_13 | Python | 7 | 17.10.2022 17:59 |