我看問題的角度停留在第一elif
:你想如何創建不包含單詞中包含的前一個字母的單詞?
import random as rnd
vowels="aeiou"
consonants="bcdfghlmnpqrstvz"
alphabet=vowels+consonants
vocabulary={}
index=0
word=""
positions=[]
while index<5:
random_lenght=rnd.randint(2,5)
while len(word)<random_lenght:
random_letter=rnd.randint(0,len(alphabet)-1)
if len(word)==0:
word+=alphabet[random_letter]
elif random_letter != positions[-1] and len(word)>0:
if word[-1] not in vowels:
word+=alphabet[random_letter]
if word[-1] not in consonants:
word+=alphabet[random_letter]
elif random_letter == positions[-1]:
break
if random_letter not in positions:
positions.append(random_letter)
if word not in vocabulary:
vocabulary[index]=word
index+=1
word=""
結果不能使我滿意:
{0: 'in', 1: 'th', 2: 'cuu', 3: 'th', 4: 'vd'}
任何幫助,將不勝感激。
根據你的問題的標題,你的輸出是正確的。這些'單詞'都不包含出現在單詞前的單詞。 – usr2564301
也許你想改變'如果單詞不在詞彙中:'用'如果單詞不在詞彙表中。():' –
「cuu」包含比我想要的多一個。 'vd'包含兩個輔音。每一對兩個字母只需要一個元音和一個輔音。 –