我有兩個關于while循環的問題!我不想浪費你的時間,但我真的需要幫助。1,在我的代碼中,while true: 還有一個 while 存在。我知道我可以打破第二個while循環,但我怎樣才能同時打破第一個while循環?2,在代碼“if stand_hit == 'h'; 的末尾有沒有回到stand_hit == 's'?我不希望它在通過stand_hit == h 后顯示打?。╩ycard)的東西。我愿意想拿起新卡或立即站立。謝謝!如果您對我的問題沒有意義,請發表評論!while True:player_card = []player_card.append(player_draw())player_card.append(player_draw())print('your cards:',player_card[0]+player_color,player_card[1]+player_color)player_total = card_dict[player_card[0]]+card_dict[player_card[1]] dealer_card = []dealer_card.append(dealer_draw())dealer_card.append(dealer_draw())dealer_cards = []for i in dealer_card: dealer_cards.append(card_dict[i])dealer_total = sum(dealer_cards) player_card = []stand_hit = input('(S)tand or (H)it?...: ') if stand_hit == 's': print('Dealer cards:', dealer_card[0]+dealer_color, dealer_card[1]+dealer_color) while dealer_total < 17: if dealer_total < 11: card_dict['A'] = 11 elif dealer_total > 10: card_dict['A'] = 1 a = random.choice(list(card_dict)) print('Dealer drew:', a + dealer_color) dealer_total += card_dict[a] if dealer_total > 21: print('You win!') player_score += 1 print('Dealer:', dealer_score, 'Player:', player_score) play_again = input('Play again (Y/N)?...: ') if play_again == 'y': print() continue elif play_again == 'n': print('\n') print('>_') break
1 回答

蝴蝶不菲
TA貢獻1810條經驗 獲得超4個贊
根據內循環中滿足的條件,我可以想到兩種方法來停止外循環。
偽代碼:
bln = True
while bln:
# Do stuff
while x < y:
if z == n:
# Break inner loop, and set bln to False to break outer loop
bln = False
break
第二種方法:
while True:
bln = False
# Do stuff
while x < y:
if z == n:
# Break inner loop, and set bln to True for later break statement
bln = True
break
if bln:
break
請注意,使用第一種方法,外部循環的迭代將完成,即使bln設置為 True。然而,第二種方法會突然中斷外循環。
添加回答
舉報
0/150
提交
取消