Как сгенерировать правильный вывод, используя 2 оператора доходности в сопрограмме?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как сгенерировать правильный вывод, используя 2 оператора доходности в сопрограмме?

Сообщение Anonymous »

У меня есть var DICTIONARY — словарь, в котором ключами являются английские буквы, а значениями — слова, начинающиеся с соответствующей буквы. Первоначальное наполнение СЛОВАРА выглядит так:
DICTIONARY = {
'a': 'apple',
'b': 'banana',
'c': 'cat',
'd': 'dog',
...
}

Я пытаюсь написать сопрограмму под названием «Алфавит», которая принимает буквы в качестве входных данных и возвращает слова, связанные с данной буквой, из СЛОВАРА.
Sample Input 1:

coro = alphabet()
next(coro)
print(coro.send('a'))
print(coro.send('b'))
print(coro.send('c'))

Sample Output 1:
text
apple
banana
cat

Sample Input 2:
python
coro = alphabet()
next(coro)
for letter in 'qwerty':
print(coro.send(letter))

Sample Output 2:
text
quail
walrus
elephant
rabbit
tiger
yak

мой код использует 2 выхода, 1 назначен как переменная:
def alphabet():
while True:
ch = yield
yield DICTIONARY[ch]

однако два оператора доходности, используемые в сопрограмме, на самом деле всегда пропускают одно значение:
Test input:
coro = alphabet()
next(coro)
print(coro.send('a'))
print(coro.send('b'))
print(coro.send('c'))
Correct output:
apple
banana
cat

Your code output:
apple
None #this is the problem
cat

Я не знаю, что делать с None, и он пропускает букву b для банана.
обновлено:
#still dont really get it how it works
def alphabet(letter='a'):
while True:

letter = yield DICTIONARY[letter]



Подробнее здесь: https://stackoverflow.com/questions/790 ... -coroutine
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Открыть/закрыть дверь в сопрограмме
    Гость » » в форуме C#
    0 Ответы
    42 Просмотры
    Последнее сообщение Гость
  • Открыть/закрыть дверь в сопрограмме
    Гость » » в форуме C#
    0 Ответы
    29 Просмотры
    Последнее сообщение Гость
  • Открыть/закрыть дверь в сопрограмме
    Гость » » в форуме C#
    0 Ответы
    26 Просмотры
    Последнее сообщение Гость
  • Плавное вращение LookRotation в сопрограмме
    Anonymous » » в форуме C#
    0 Ответы
    50 Просмотры
    Последнее сообщение Anonymous
  • Переменная не обновляется в сопрограмме
    Anonymous » » в форуме Android
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»