2015-04-01 97 views
0

在我的數學測驗代碼中,當我再次輸入N時再次輸入N時,它會再次播放。這裏是我的代碼:再次播放不起作用

def play_again(): 
    again= input("would you like to play again? y for yes and n for no") 
    while again not in ['Y','y','N','n']: 
     again = input("please enter 'Y' or 'N'") 

    if again== 'y' or 'Y': 
     do_the_quiz() 
    else: 
     print("cheers lad thanks for playing") 
     exit() 

你可以發現一些錯誤的東西讓N或N再次播放它不應該。

+0

嘗試在控制檯中輸入「'n'=='y'或'Y'' – 2015-04-01 21:24:13

回答

0

我認爲你的條件是錯誤的。 它可以是:

if again=='y' or again=='Y': 

if again in ['Y', 'y']: 
0

if again== 'y' or 'Y':沒有做什麼,你認爲它。 or是一個布爾運算符,所以下面是相同的:if (again == 'y') or ('Y')。因爲字符在布爾上下文中被認爲是True,所以如果分支會一直執行。