[英]Trouble with restarting a program - Python
我正在嘗試使用python創建一個非常簡單的二十一點游戲,並且效果很好。 問題是我想在完成時重新啟動它,但不重新啟動。 有任何想法嗎? 一段代碼導入隨機
class BlackjackGame():
def __init__(self):
self.randomNumberMachine = random.randint(4,24)
self.randomNumberUser = random.randint(4,24)
self.conditionalBoolean = False
def blackjackMain(self):
self.numberInput = int(input("Introduzca la apuesta "))
while not self.conditionalBoolean:
if self.randomNumberUser > 21:
print("Desgraciadamente has perdido\nPuntos de la maquina: " + str(self.randomNumberMachine) + "\nPuntos tuyos: " + str(self.randomNumberUser))
self.numberInput = self.numberInput / 2
if self.numberInput <= 0:
print("Tienes solo 0 euros")
else:
print("Tienes " + str(self.numberInput) + " euros")
self.conditionalBoolean = True
else:
userChoice = int(input(("Tienes " + str(self.randomNumberUser) + "puntos, deseas:\n1)Retirarte\n2)Aumentar\n")))
if userChoice == 1:
if self.randomNumberUser > self.randomNumberMachine or self.randomNumberMachine > 21:
print("Enhorabuena, has ganado\nPuntos de la maquina: " + str(self.randomNumberMachine) + "\nPuntos tuyos: " + str(self.randomNumberUser))
self.numberInput = self.numberInput * 2
print("Ahora tienes " + str(self.numberInput) + " euros")
elif self.randomNumberMachine == self.randomNumberUser:
print("Empate\nPuntos de la maquina: " + str(self.randomNumberMachine) + "\nPuntos tuyos: " + str(self.randomNumberUser))
else:
print("Desgraciadamente has perdido\nPuntos de la maquina: " + str(self.randomNumberMachine) + "\nPuntos tuyos: " + str(self.randomNumberUser))
self.numberInput = self.numberInput / 2
if self.numberInput <= 0:
print("Tienes solo 0 euros")
else:
print("Tienes " + str(self.numberInput) + " euros")
self.conditionalBoolean = True
elif userChoice == 2:
self.aumentPoints = random.randint(2,10)
self.randomNumberUser = self.randomNumberUser + self.aumentPoints
self.blackjackMain()
jugador1 = BlackjackGame()
jugador1.blackjackMain()
self.numerInput輸入會不斷詢問相同的問題,並且不會重新啟動程序。
在blackjackMain(self)內部,變量self.conditionalBoolean僅設置為True。 發生這種情況時,您的條件始終為False,並且不再執行內部代碼。 如果要輸入while塊,則需要在該塊之外的某個位置設置變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.