我想生成由列表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)
我相信我在添加列表的部分做错了,但我只需要每个列表的一个元素。否则我相信我的信息流是正确的?
4条答案
按热度按时间rryofs0p1#
在每个列表上分别调用
random.choice()
,然后将它们连接起来。j2datikz2#
看起来你的代码有一些问题。让我们打破他们,并提供一个更正的版本。
您没有正确地连接两个列表中的元素。您应该使用+运算符将它们连接起来,但是在生成新的动物名称时需要这样做。
您缺少导入随机模块的正确方法。
你在自身内部重新定义了new_animal函数,这将导致无限递归。
使用这个:
kx1ctssn3#
您可以将组合动物名称的创建合并到单个返回值中。在random.choice(list1)+(list2)行中,您应该使用random.choice(list2)从list2中随机选择一个元素。
2exbekwf4#
定义一个名为“new_animal”的lambda函数,该函数不带参数,用于创建一个新的动物名称。