Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 17, 2024 21:16:23

medusa_01
Зарегистрирован: 2020-11-14
Сообщения: 33
Репутация: +  1  -
Профиль   Отправить e-mail  

Задача на тему КОРУТИНА

Доброго времени суток. помогите пожалуйста решить задачу:

Ваша задача — написать сопрограмму alphabet, в которую передаются буквы, а в ответ она генерирует слова, закрепленные переданной буквой из словаря DICTIONARY.

Гарантируется, что в alphabet будут поступать значения, которые имеются в ключах словаря DICTIONARY.

Сама переменная DICTIONARY вам в редакторе кода не видна, но вы можете обращаться к ней внутри сопрограммы alphabet.

Мой код выдает не верный ответ:
 DICTIONARY = {
    'a': 'apple',
    'b': 'banana',
    'c': 'cat',
    'd': 'dog',
    'e': 'elephant',
    'f': 'fox',
    'g': 'gorilla',
    'h': 'hippo',
    'i': 'iguana',
    'j': 'jaguar',
    'k': 'koala',
    'l': 'llama',
    'm': 'monkey',
    'n': 'newt',
    'o': 'octopus',
    'p': 'parrot',
    'q': 'quail',
    'r': 'rabbit',
    's': 'squirrel',
    't': 'tiger',
    'u': 'unicorn',
    'v': 'viper',
    'w': 'walrus',
    'x': 'xenomorph',
    'y': 'yak',
    'z': 'zebra'
}
def alphabet():
    while True:
        letter = (yield )
        value = yield DICTIONARY.get(letter)
        print(value)
coro = alphabet()
next(coro)
print(coro.send('a'))
print(coro.send('b'))
print(coro.send('c'))
Вывод:
apple
b
None
cat

Офлайн

#2 Дек. 19, 2024 07:00:34

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Задача на тему КОРУТИНА

  
>>> DICTIONARY = {
...     'a': 'apple',
...     'b': 'banana',
...     'c': 'cat',
...     'd': 'dog',
...     'e': 'elephant',
...     'f': 'fox',
...     'g': 'gorilla',
...     'h': 'hippo',
...     'i': 'iguana',
...     'j': 'jaguar',
...     'k': 'koala',
...     'l': 'llama',
...     'm': 'monkey',
...     'n': 'newt',
...     'o': 'octopus',
...     'p': 'parrot',
...     'q': 'quail',
...     'r': 'rabbit',
...     's': 'squirrel',
...     't': 'tiger',
...     'u': 'unicorn',
...     'v': 'viper',
...     'w': 'walrus',
...     'x': 'xenomorph',
...     'y': 'yak',
...     'z': 'zebra'
... }
>>> 
>>> def alphabet():
...     while True:
...         yield DICTIONARY.get((yield))
... 
>>> def f():
...     coro = alphabet()
...     coro.send(None)
...     for c in 'abcdef':
...         print(coro.send(c))
...         coro.send(None)
...     coro.close()
... 
>>> f()
apple
banana
cat
dog
elephant
fox
>>>

Не спрашивай меня, как это работает. Я сам этого не понимаю.



Отредактировано py.user.next (Дек. 19, 2024 07:08:03)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version