第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在滿足條件時(shí)結(jié)束循環(huán)?

如何在滿足條件時(shí)結(jié)束循環(huán)?

達(dá)令說 2022-01-05 19:46:45
按照我剛才的問題在這里,今天我的問題是有關(guān)的。我有一個(gè)不斷更新的全局變量,并將該變量傳遞給一個(gè)函數(shù)。該函數(shù)由循環(huán)和條件語句組成。我希望循環(huán)在條件滿足時(shí)結(jié)束,但它繼續(xù)循環(huán)。這是我的代碼。class LetterAScreen:    def identity(self):         global where        lol=Identifier()        lol.fn_compare()        print where    def verifier(self):        global where        verify=where        if verify != 1:            while (count>0):                print ("try again")                run=LetterAScreen()                run.identity()                run.verifier                print ("try again")                count += 1        else:            print ("correct")“正確”是當(dāng)變量變?yōu)?1 時(shí)。否則,它是不正確的,用戶應(yīng)該再試一次。輸出最終看起來像這樣。#incorrect inputs19try againtry again19try againtry again19try againtry again19try againtry again19try againtry again#correct inputs but loop doesn't end1try againtry again1try againtry again1try againtry again1try againtry againIdentifier 類的基本部分只是更新變量。我相信問題出在我分享的課程上。我真的不熟悉這是如何工作的。我希望你能幫助我。
查看完整描述

2 回答

?
精慕HU

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊

這里有一些注意事項(xiàng):

  • 為什么要LetterAScreen在循環(huán)中創(chuàng)建新對(duì)象?

  • 使用全局變量時(shí)要小心,通常還有其他方法可以解決這個(gè)問題。

我不知道Identifier該類是做什么的,但猜測(cè)該類的fn_compare功能會(huì)改變where變量嗎?此外,Identifier在每次調(diào)用identity函數(shù)時(shí)創(chuàng)建一個(gè)新函數(shù)似乎是您應(yīng)該更改的內(nèi)容。

話雖如此,該verifier方法需要調(diào)整如下:

def verifier(self):

    global where

    count = 1

    while (count>0 and where != 1):

        print ("try again")

        self.identity()

        count += 1

    print ("correct")

您不應(yīng)該將全局where變量分配給本地變量,這會(huì)導(dǎo)致問題,因?yàn)楸镜刈兞坎粫?huì)在循環(huán)中更新。您可以where直接與此全局變量進(jìn)行比較。我還刪除了run變量,您正在LetterAScreen類的一個(gè)實(shí)例中執(zhí)行,因此您可以調(diào)用identityself 對(duì)象上的方法(類似于thisJS 中的 a )。


查看完整回答
反對(duì) 回復(fù) 2022-01-05
?
喵喵時(shí)光機(jī)

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊

首先,您可能不需要在方法“驗(yàn)證器”中創(chuàng)建新實(shí)例(創(chuàng)建實(shí)例時(shí)已經(jīng)調(diào)用了方法,您可以使用“self”變量訪問實(shí)例。因此,而不是


run=LetterAScreen()

run.identity()


self.identity()

也可以不使用復(fù)雜的“全局”方法,而是創(chuàng)建像 self.verify 這樣的實(shí)例變量并在“identify”中更改它


class LetterAScreen:

    def __init__(self):

        self.verify = 0

不定式循環(huán)通常是這樣創(chuàng)建的


while True:

始終小心使用“全局”是棘手的,在大多數(shù)情況下,您可以以簡(jiǎn)單易讀的方式執(zhí)行任何操作,因此我建議您從此腳本中刪除所有全局變量,您可以從函數(shù)返回參數(shù),使用可變對(duì)象等。


查看完整回答
反對(duì) 回復(fù) 2022-01-05
  • 2 回答
  • 0 關(guān)注
  • 261 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)