python 如何从两个不同的列表中随机选择项目并将它们一起显示?

xcitsw88  于 2023-10-14  发布在  Python
关注(0)|答案(4)|浏览(83)

我想生成由列表1和列表2中的元素组成的新动物,例如:海鼠,火马,尼罗河猫混合应该是随机产生的。有人能指出,我做错了什么,为什么?

def new_animal():
    list1 = [ "Nile", "Sea", "Land", "Fire" ]
    list2 = [ "-rat", "-lion", "-cat", "-horse" ]
    list1 + list2
    return new_animal()
        
    import random
    random.choice(list1) + (list2)

    return new_animal()
    
def Zoo():
    new_animal = animal()
    print = "What animal is this?"
    answer = "That animal is a" + new_animal
    print(answer)

我相信我在添加列表的部分做错了,但我只需要每个列表的一个元素。否则我相信我的信息流是正确的?

rryofs0p

rryofs0p1#

在每个列表上分别调用random.choice(),然后将它们连接起来。

def new_animal():
    list1 = [ "Nile", "Sea", "Land", "Fire" ]
    list2 = [ "-rat", "-lion", "-cat", "-horse" ]

    return random.choice(list1) + random.choice(list2)
j2datikz

j2datikz2#

看起来你的代码有一些问题。让我们打破他们,并提供一个更正的版本。
您没有正确地连接两个列表中的元素。您应该使用+运算符将它们连接起来,但是在生成新的动物名称时需要这样做。
您缺少导入随机模块的正确方法。
你在自身内部重新定义了new_animal函数,这将导致无限递归。
使用这个:

import random

def new_animal():
    list1 = ["Nile", "Sea", "Land", "Fire"]
    list2 = ["-rat", "-lion", "-cat", "-horse"]
    
    element1 = random.choice(list1)
    element2 = random.choice(list2)
    
    new_animal_name = element1 + element2
    
    return new_animal_name

def Zoo():
    animal_name = new_animal()
    print("What animal is this?")
    answer = "That animal is a " + animal_name
    print(answer)

Zoo()
kx1ctssn

kx1ctssn3#

您可以将组合动物名称的创建合并到单个返回值中。在random.choice(list1)+(list2)行中,您应该使用random.choice(list2)从list2中随机选择一个元素。

import random

def new_animal():
    list1 = [ "Nile", "Sea", "Land", "Fire" ]
    list2 = [ "-rat", "-lion", "-cat", "-horse" ]
    return random.choice(list1) + random.choice(list2)

def Zoo():
    new_animal_name = new_animal()
    print("What animal is this?")
    answer = "That animal is a " + new_animal_name
    print(answer)

Zoo()
2exbekwf

2exbekwf4#

定义一个名为“new_animal”的lambda函数,该函数不带参数,用于创建一个新的动物名称。

import random;
new_animal = lambda: random.choice(["Nile", "Sea", "Land", "Fire"]) + random.choice(["-rat", "-lion", "-cat", "-horse"])

相关问题