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

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

如何讓每個實例調(diào)用擁有自己的布爾值?

如何讓每個實例調(diào)用擁有自己的布爾值?

楊__羊羊 2021-06-04 18:41:52
我有車的名單以及他們在米里程(我得到的數(shù)據(jù)的從游戲API,但我會用一個函數(shù)例子,而不是在這里。)因此,每一輛汽車有一個開始=假的開頭和有一個函數(shù),將返回如果他們開始并行駛超過 1 米。metersdriven = 0started = Falsedef getCarState(id):    if id == 1:        return 290    if id == 2:        return 0    if id == 3:        return 1200def init(driver):    global metersdriven, started           metersdriven = getCarState(driver)        if not started:        if metersdriven > 1:            started = True            return metersdriven        else:            return 'Not started'    else:            return 'Not started'這就是代碼,這就是我的意思:fd = init(1)sd = init(2)td = init(3)>>> print(fd)290>>> print(sd)'Not started'正如您在上面看到的,我們還沒有遇到問題,但是現(xiàn)在出現(xiàn)了問題>>> print(td)'Not started'我們實際上想檢查第三輛車,但它返回“未啟動”,這不是真的,它實際上已經(jīng)行駛了 1200 米。我可以理解這是由于我們最初打電話檢查第一輛車并因此將開始設(shè)置為 True 引起的。如果我們一開始叫第三輛車,它會返回1200米,反之亦然。那么我該如何解決這個問題呢?如何讓每輛車都有自己的布爾值?我需要使用類嗎?
查看完整描述

2 回答

?
POPMUISE

TA貢獻1765條經(jīng)驗 獲得超5個贊

是的,您可以為此使用類,因為它可以讓您輕松管理實例。類似以下內(nèi)容就足夠了:


class Car:

    def __init__(self, mileage):

        self.mileage = mileage

        self.started = False


    def start(self):

        self.started = True if self.mileage > 0 else False

    def stop(self):

        self.started = False

現(xiàn)在創(chuàng)建一個像這樣的實例:


>>> sd = Car(1200) # 1200 is the mileage

>>> fd = Car(0)    # this one has 0 mileage

>>> sd.started

False

>>> sd.start()

>>> sd.started

True

>>> fd.start()

>>> fd.started

False # because mileage is 0


查看完整回答
反對 回復 2021-06-06
?
繁星點點滴滴

TA貢獻1803條經(jīng)驗 獲得超3個贊

只需將started變量全部刪除并僅使用行駛的儀表來檢查汽車是否已運行。


查看完整回答
反對 回復 2021-06-06
  • 2 回答
  • 0 關(guān)注
  • 187 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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