Ich versuche, einen zufälligen Wortgenerator (meist unsinnige Wörter) zu erstellen.Warum funktioniert mein Wortgenerator nicht?
Der Punkt ist, für sie zu:
- Generieren Sie eine bestimmte Anzahl von Strings bestimmter Längen
- Sie einen Vokal enthalten muss, und wenn es kein Vokal ist, es durchläuft wieder.
Aber aus irgendeinem Grund nach gebe ich beide x
und y
das Programm tut nichts.
Ich versuchte print(attempt)
nach attempt = random.choice(sUpper)
Zugabe, und es gerade erzeugt:
H
G
E
usw.
Hier ist das Programm in Frage:
import random
sUpper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
sLower = 'abcdefghijklmnopqrstuvwxyz'
vowels = 'aeiouAEIOU'
class Word:
def __init__(self, length):
self.length = length
def build(self):
while 1:
attempt = random.choice(sUpper)
a = 0
while a <= (self.length-1):
attempt += random.choice(sLower)
a += 1
for i in vowels:
if i in attempt:
word = attempt
break
return word
while 1:
x = int(input('Length: '))
y = int(input('Number: '))
z = Word(x)
w = 1
while w <= y:
print(z.build())
w += 1
Es gibt nichts, was die 'while 1' in' build' beenden könnte. – user2357112
Was ist mit der Pause? – Mathime
Ja, Ihre 'Pause' springt nur aus der for-Schleife heraus. – Keiwan