【发布时间】:2018-03-04 07:26:44
【问题描述】:
我这几天一直在为 Python 编程入门课程研究这个问题。目标是创建一个程序,从用户输入的单词列表中生成随机电影标题。输出应如下所示:
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直到一个结束字符...
标签: python for-loop random repeat