私はこの問題を、Pythonを使ったIntro to Programming for Pythonクラスのために数日間作業してきました。目標は、ユーザーが入力した単語のリストからランダムなムービータイトルを生成するプログラムを作成することです。出力は次のようになります。関数内のforループを繰り返す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
出力:Randoplexへ
ようこそ!現在上映される映画です:
アドベンチャー生活空間
ショーラブストーリー
ワイルドスペースライフ
私は、ランダムなタイトルを生成することができたが、ベースの異なるタイトルを生成するために、とにかく見つけることができませんユーザーが入力した番号を入力します。
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)
これは私は、ユーザーが入力した値movie_num
に同じランダム化されたタイトルを印刷することができます:これは私が得ている最も近いです。しかし、私はちょうど複数の異なるランダム映画のタイトルを作成する方法を見つけることができません。私は多くの異なる方法でrange()
機能を使用しようとしており、アドバイスのためにインターネット上をすべて見てきました。私は本当にこの時点で他に何を試していいのかわかりません。どんな助けでも大いに感謝します。私のクラスは非常に初歩的なものであることは言うまでもなく、私たちは "while"ループにまだ紹介されておらず、そのためにそれらを使用することは許されていないと思います。前もって感謝します。
通常は 'eval()'を使用するのは、入力が間違っているように一般的には良い考えではなく、 'error'を得るでしょう、ユーザに' spaces'と 'split'で区切られた単語を入力させる方が良いでしょう。それは、最後の文字までリストの 'for-loop'と' append'を実行するだけです... –