Skip to main content
 首页 » 编程设计

python之在函数 Python 3 中重复 for 循环

2025年05月04日7TianFang

几天来,我一直在为“使用 Python 编程介绍”类(class)解决这个问题。目标是创建一个程序,从用户输入的单词列表中生成随机电影标题。输出应如下所示:

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 

输出:

Welcome to Randoplex! Currently playing movies are:

Adventure Life Space

Show Love Story

Wild Space Life

我已经能够生成随机标题,但无法根据用户输入的数字生成不同的标题。这是我得到的最接近的:

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() 函数,并在 Internet 上到处寻找建议。我真的不知道在这一点上还能尝试什么,任何帮助将不胜感激。值得一提的是,我的类(class)非常初级,我们还没有被介绍过“while”循环,因此我认为我不被允许使用它们。提前谢谢你。

请您参考如下方法:

这是否符合您的要求?

import random 
 
def random_movies(word_list): 
    for word in word_list: 
        titles = ' '.join(random.choice(word_list.split()) for i in range(3)) 
        return titles 
 
word_list = input("Please enter a list of words:") 
movie_num = int(input("Please enter the number of movies you'd like to  generate:")) 
 
print("Welcome to Randoplex! Currently playing movies are:") 
 
for i in range(movie_num): 
    print(random_movies(word_list))