簡體   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