我需要使用遞歸爲了輸入保持調用自己,如果兩個輸入的總和不等於100,但每次我嘗試,我總是以它問爲輸入一次,然後一旦輸入,它返回一個十六進制值。實現遞歸到python3類的方法
class Z:
def __init__(self, probabilityX = 0, probabilityY = 0):
self.probabilityX = ""
self.probabilityY = ""
def getProbability(self):
print(self.probabilityX, self.probabilityY)
def input(self):
self.probabilityX = int(input("Enter probability of x:"))
self.probabilityY = int(input("Enter probability of y:"))
if self.probabilityX + self.probabilityY != 100:
input(self)
def main():
purs = Z()
purs.input()
purs.getProbability()
main()
任何幫助,非常感謝! 編輯:修正了拼寫錯誤
它應該是'self.input()',而不是'input(self)'。 – zondo
[請求用戶輸入,直到他們給出有效響應]的可能的重複(http://stackoverflow.com/questions/23294658/asking-the-user-for-input-until-they-give-a-valid-回覆) – wwii