为什么"模块"对象不可调用?



可能重复:
类型错误:"module"对象不可调用

这是我第一次尝试Python,对我来说,在新语言Python沉寂了10年之后,我只是想重新获得基本的编程知识。基本的想法是用一个小小的击球引擎来决定更好的击球。下一个是错误代码。

self.__power = self.__att*random(2,4)/dier.__defn

由于我的python知识非常基础,我很害怕说正确的话,所以我要把我的代码放在下面(47行),你。。我会注意到它真的很透明,所以我不怀疑这会有任何问题。错误线是16。我尝试将att变量重命名为atta,并进行了一些重新定位,尽管出现了新的错误,但我解决了它们,最终总是在同一行出现相同的错误。

class Character:
def __init__(self,name="", att=0,defn=0,lvl=0,leven=0,exp=0, power=0):
self.__att = att
self.__defn = defn
self.__lvl = lvl
self.__leven = leven
self.__name = name
self.__xp = exp
self.__power = power
def batl(self):
import random
while self.__lvl <= 3:
dier = Character("Anaconda",1,1,50,1,0,0)
print "You encountered an " + dier.__name + " and fight it."
**self.__power = self.__att*random(2,4)/dier.__defn**
dier.__power = (dier.__att*random(1,4))/self.__defn
if self.power > dier.power:
growth = dier.__lvl*dier.__atta
groei()
else:
dmg = dier.lvl*dier.att
leven = leven-dmg
if leven < 0:
print "Alas, you're done for."
exit()
else:
print "You took " + dmg + "damage and have " + leven + "life left."

def groei(self):
if (growth+exp) > 100:
lvl += 1
exp = growth-100
print "You won and gained " + str(growth) + " and grew from level " + str(lvl-1) + " to level " + str(lvl) + "."
else:
exp = growth + exp
print "You won and gained " + str(growth) + "."

def-main():

hero = Character("Nevery",2,1,2,100,0,0)
hero.batl()

如果name='main':main()

正如你所看到的,我得到了我的角色类,在其中我定义了battle()方法和groei()方法,非常基本。有人能告诉我我错过了什么吗?我已经看了好几个小时了。提前感谢

random是模块,而不是函数。您需要致电random.random。你也可以from random import random,但在这种情况下,我会选择第一个选项。

使用random.random()而不是random

相关内容

  • 没有找到相关文章

最新更新