2016-10-28 108 views
-1

我正在製作腳本遊戲並使用此代碼進行多項選擇。如何阻止無限循環?

while True: 
d1a = input ("Do you want to: A) Befriend Fred. B) Be mean to Fred. [A/B]? : ") 
if d1a == "A": 
    print ("You befriend fred. You now have a friend..") 
elif d1a == "B": 
    print ("You angered Fred. He kills you. RIP.") 
elif d1a == "Q" : 
    break 

在此之後發生的,如果A型或B將打印所需的文本,然後再次問你「你要交好弗雷德?」如果你想要一個迭代循環是沒有必要離開後循環

while True: 
    d1a = input ("Do you want to: A) Befriend Fred. B) Be mean to Fred. [A/B]? : ") 
    if d1a == "A": 
     print ("You befriend fred. You now have a friend..") 
     break 
    elif d1a == "B": 
     print ("You angered Fred. He kills you. RIP.") 
     break 
    elif d1a == "Q" : 
     break 

另外:等

+2

只需使用'break'後前兩個條件。 – Marcin

+1

並修復您的縮進。 – Julien

+1

這段代碼沒有理由在循環中 –

回答

0

您可以簡單地添加break語句每個條件。然而,我假設你循環,直到你得到正確的輸入,在這種情況下,它可能是不錯的告訴您的播放器,輸入是不正確的:

while True: 
    d1a = input ("Do you want to: A) Befriend Fred. B) Be mean to Fred. [A/B]? : ") 
    if d1a == "A": 
     print ("You befriend fred. You now have a friend..") 
     break 
    elif d1a == "B": 
     print ("You angered Fred. He kills you. RIP.") 
     break 
    else: 
     print("Incorrect input") 
+2

您應該修復縮進 –

+0

1)您的縮進是錯誤的,並且2)您可以標記/投票以關閉重複的問題。 – TigerhawkT3

+0

從OP直接複製 - 沒有注意到它最初是不正確的。 – Darkstarone