Ich habe an diesem Problem für eine Einführung in die Programmierung mit Python-Klasse seit Tagen gearbeitet. Das Ziel besteht darin, ein Programm zu erstellen, das zufällige Filmtitel aus einer Liste benutzerdefinierter Wörter generiert. Die Ausgabe sollte wie folgt aussehen:For-Schleife innerhalb einer Funktion wiederholen Python 3
Please enter a list of words: ["Space", "Show", "Adventure", "Story",
"Love", "Wild", "Life"]
Please enter a number of movies you'd like to generate: 3
Ausgang:
Willkommen bei Randoplex! Derzeit spielt Filme sind:
Abenteuer Leben Raum
anzeigen Love Story
Wilder Raum Leben
konnte ich zufällig Titel erzeugen, kann aber nicht ohnehin verschiedene Titel zu generieren finden basierend auf die vom Benutzer eingegebene Nummer. Dies ist die nächste, die ich bekommen haben:
import random
def random_movies(word_list = eval(input("Please enter a list of words:"))):
for word in word_list:
titles = ' '.join(random.choice(word_list) for i in range(3))
return titles
def repeat():
titles = random_movies()
movie_num = eval(input("Please enter the number of movies you'd like to generate:"))
for i in range(movie_num):
random_movies()
print(titles)
titles1 = repeat()
print("Welcome to Randoplex! Currently playing movies are:")
print()
print(titles1)
Dies ermöglicht es mir den gleichen randomisierten Titel für den Wert drucken movie_num
, die der Benutzer eingibt. Aber ich kann einfach nicht herausfinden, wie man mehrere verschiedene randomisierte Filmtitel erstellt. Ich habe versucht, die range()
Funktion auf viele verschiedene Arten zu verwenden, und habe überall im Internet nach Rat gesucht. Ich weiß wirklich nicht, was ich zu diesem Zeitpunkt noch versuchen sollte, jede Hilfe würde sehr geschätzt werden. Es ist wichtig zu erwähnen, dass meine Klasse sehr elementar ist, wir wurden noch nicht mit "While" -Schleifen vertraut gemacht und ich denke nicht, dass ich sie deswegen benutzen darf. Vielen Dank im Voraus.
Normalerweise ist die Verwendung von 'eval()' im Allgemeinen keine gute Idee, als ob die Eingabe falsch ist. Sie erhalten einen 'Fehler'. Es ist besser, wenn der Benutzer die Wörter durch' spaces' und 'split' getrennt eingibt es, oder einfach eine 'for-loop' und' append' an eine Liste bis ein Ende Zeichen ... –