繁体   English   中英

为什么“模块”对象不可调用? [重复]

[英]Why is 'module' object not callable? [duplicate]

可能重复:
TypeError:“模块”对象不可调用

这是我的第一个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()

如果名称 ==' main ':main()

正如您所看到的,我得到了我的角色类,在其中我定义了Battle()方法和groei()方法,这非常基础。 有人看了我好几个小时才指出我想念的东西。 提前致谢

random是模块,而不是功能。 您需要调用random.random 您也可以from random import random ,但是在这种情况下,我会选择第一个选项。

使用random.random()代替random

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM