Предположим, я создаю madLib и хочу заменить каждое слово из строки, содержащей слово 'plural noun'
. По сути, пользователь получает приглашение, в котором говорится о вводе существительных во множественном числе, и эти вводят go в словарь (pluralnoDict
).
Я использовал random.choice
, и это работает, однако, очевидно, что повторы являются проблемой. Я пробовал random.sample
, однако вместо того, чтобы выбирать одно слово из заданного образца, код заменяет слова целым образцом.
Есть ли способ заменить каждую строку, используя random.sample
из списка словарей? Например:
Оригинал: 'plural noun'
имеют 'plural noun'
и 'plural noun'
. Ожидается: 'birds'
имеют 'wings'
и 'feet'
.
Ниже приведено l oop, которое я использую для замены строк существительных во множественном числе.
for key in pluralnoDict:
target_word = "({0})".format(key)
while target_word in madString:
madString = madString.replace(target_word, random.choice(pluralnoDict[key]), 1)