나는 질문의 포인트는 첫째 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'는 두 개의 자음을 포함합니다. 두 글자 한 쌍에 대해 하나의 모음과 하나의 자음 만 필요합니다. –