我正在尝试用python制作一个基于turtle/text的RPG(基本上是一个计算机化的d&d地下城主程序),让我的朋友、同学和老师为我的计算GCSE和代码留下深刻印象;它把房间、敌人和任何其他东西都画得很好,文本输入用python shell打印。它是这么说的:
File "E:\GCSE's\RPG No.1 Test code..py", line 22,
in chest contents+=list.append(chosen_loot)
TypeError: append() takes exactly one argument (0 given)
但这段代码是关于:
def chest():
contents=[]
chosen_loot=[]
for n in range(2):
loot=["Chestplate", "Vambraces", "Chausses", "Sabaton", "Zweihänder"]
chosen_loot+=random.choice(loot)
contents+=list.append(chosen_loot)
请帮忙!我从晚上10点起就一直在做这件事!
你的语法完全错了。首先,
chosen_loot+=random.choice(loot)
添加一个list
和一个字符串,该字符串通常不起作用,除非使用了扩展的赋值(+=
),该赋值扩展了list
,将每个字符作为单独的项包含在内。那一行应该是
chosen_loot = random.choice(loot)
。你甚至不需要两个list
,所以我不知道那里发生了什么。接下来,
contents+=list.append(chosen_loot)
完全不对。首先,您正在执行list.append
,如果您正确调用它,并引用您感兴趣的list
(在本例中为contents
),这可能会起作用,但通常您希望执行类似contents.append(chosen_loot)
的操作。接下来,您将在上面连接+=
。你有一些潜在的有用代码,但你不能把它们混在一起,期望它们能工作。那行应该是contents.append(chosen_loot)
。接下来,您将尝试从
list
中获取两个随机项。方法是使用random.sample
。最后,即使这样也没什么用,因为当函数结束时,所有这些都会被丢弃。你需要归还一些东西:
这将产生两个随机项目。
相关问题 更多 >
编程相关推荐