繁体   English   中英

如何使函数“ addlevels”在我的主代码中起作用?

[英]How Do I make the function “addlevels” work in my main code?

我目前正在参加在线python课程,并且类和方法有问题。 我的老师希望我使用“ addlevels”方法打印出原始强度点+“ addlevels”方法中的点。

我试图将return放到该方法中,但这没有用。 我也尝试过使用Hero.strengthsPt Transactions和print(str(Hero.strengthPtwego)),但是也没有用。 当使用str(Hero.strengthPts)时,它只会打印出90点而不是增加10点。

class Superhero:

    def __init__(self, name = "", strengthPts = 1):
        self.name = name 
        self.strengthPts = strengthPts
    def addlevels(self, points = 10):
        strengthPtsAdded = self.strengthPts + points
def main():
    Hero = Superhero("Falcon", 90,)
    print("Name: " + Hero.name)
    print("Level: " + str(Hero.strengthPts))
    Hero.addlevels()
    print("Heroes level after training " + str(Hero.strengthPts) + " .")
main()

我希望代码输出名称Falcon,原始强度点将为90,然后添加后强度点应为100。结果是该代码确实打印了名称“ Falcon”和原始强度点,但最后一行显示“训练后的英雄等级:90,而不是100。

如何添加一个新的strengthPts_modified变量,以便在以后要使用它时保留原始的strengthPts。

class Superhero:

    def __init__(self, name = "", strengthPts = 1):
        self.name = name 
        self.strengthPts = strengthPts
        self.strengthPts_modified=self.strengthPts
    def addlevels(self, points = 10):
        self.strengthPts_modified += points
def main():
    Hero = Superhero("Falcon", 90,)
    print("Name: " + Hero.name)
    print("Level: " + str(Hero.strengthPts))
    Hero.addlevels()
    Hero.addlevels()
    print("Heroes level after training " + str(Hero.strengthPts_modified) + " .")
main()

暂无
暂无

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

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