亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有辦法簡化Python中的“While循環”/“For循環”交互?

有沒有辦法簡化Python中的“While循環”/“For循環”交互?

開心每一天1111 2023-12-12 15:43:41
  for a in list:        answer_or_help = False        print(a.question)        while answer_or_help not in ("q", "a"):                answer_or_help = input("Press a for Answer, h for Help, q to quit: ")                if answer_or_help == "h":                        print(a.hint)                elif answer_or_help == "a":                        print(a.answer)                elif answer_or_help != "q":                        print("This is not a valid answer")        else:                if answer_or_help == "q":                        break當我輸入“q”時,我試圖退出 FOR 循環,但我不確定這是最好的方法。我將不勝感激任何幫助。謝謝你!!
查看完整描述

3 回答

?
夢里花落0921

TA貢獻1772條經驗 獲得超6個贊

假設每個對象有一個問題。你不需要一個while. input()函數將無限期地等待用戶輸入。


idx = 0

while idx < len(your_list):

    

    obj = your_list[idx]

    

    print(obj.question)

    answer_or_help = input("Press a for Answer, h for Help, q to quit: ")

    

    if answer_or_help == 'q':

        break

    

    elif answer_or_help == "h":

        print(obj.hint)

        

    elif answer_or_help == "a":

         print(obj.answer)

         idx += 1 # moving object


    else:

        print("This is not a valid answer")


查看完整回答
反對 回復 2023-12-12
?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

您可以使用break、continue和pass語句執行這些操作。 Break 語句 在 Python 中,break 語句為您提供了在觸發外部條件時退出循環的機會。您可以將 Break 語句放在循環語句下的代碼塊中,通常放在條件 if 語句之后。


 number = 0


for number in range(10):

    if number == 5:

        break    # break here


    print('Number is ' + str(number))


print('Out of loop')

continue 語句 continue 語句使您可以選擇跳過觸發外部條件的循環部分,但繼續完成循環的其余部分。也就是說,循環的當前迭代將被打亂,但程序將返回到循環的頂部。


continue 語句將位于循環語句下的代碼塊內,通常位于條件 if 語句之后。


number = 0


for number in range(10):

    if number == 5:

        continue    # continue here


    print('Number is ' + str(number))


print('Out of loop')

Pass 語句 當觸發外部條件時,pass 語句允許您處理該條件,而不會以任何方式影響循環;除非發生中斷或其他語句,否則所有代碼將繼續被讀取。


與其他語句一樣,pass 語句將位于循環語句下的代碼塊內,通常位于條件 if 語句之后。


  number = 0


for number in range(10):

    if number == 5:

        pass    # pass here


    print('Number is ' + str(number))


print('Out of loop')


查看完整回答
反對 回復 2023-12-12
?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

我將它包裝在一個函數中,這樣你就可以從它返回。


def show_questions(questions):

    for item in questions:

        print(item.question)

        while True:

            user_input = input("Press a for Answer, h for Help, q to quit: ")

            if user_input == 'h':

                print(item.hint)

            elif user_input == 'a':

                print(item.answer)

                break

            elif user_input == 'q':

                return

            else:

                print("This is not a valid answer)

a請注意如何清楚地看到 Answer和h這種方式之間的區別q:h讓您處于內部循環中,a中斷內部循環并q通過從函數返回來中斷兩個循環。


查看完整回答
反對 回復 2023-12-12
  • 3 回答
  • 0 關注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號