作業(yè):
問題:如果有人給狗增加100歲,程序怎么能以下判斷出問題并提示狗狗活不了這么長(zhǎng)啊?
1.直接修改屬性的值
2.通過方法修改屬性的值
圖片發(fā)自簡(jiǎn)書App
我的答案
通過查資料發(fā)現(xiàn):一般狗狗的壽命為12~15年蚪腐,在這里統(tǒng)一限定所有狗狗的壽命小于或等于15
代碼
運(yùn)行結(jié)果
代碼20行self.age =self.age + age可以改為更簡(jiǎn)潔的做法:self.age += age
圖片發(fā)自簡(jiǎn)書App
? ? ? ? 代碼中的方法increment_age()是指在狗狗原來的年齡上再增加多少歲箭昵,而代碼34行輸入8,意思是在狗狗4歲基礎(chǔ)上再增加8歲回季,所以結(jié)果為12
? ? ? ? 但是當(dāng)我把輸入改為13時(shí)結(jié)果如下:
圖片發(fā)自簡(jiǎn)書App
圖片發(fā)自簡(jiǎn)書App
? ? ? 得到的結(jié)果為17家制,可狗狗最多只能活到15歲,這就有問題了泡一。原因是19行代碼if語句里先判斷輸入的數(shù)字是否小于或等于15颤殴,如果為True執(zhí)行后面的內(nèi)容,而輸入13<15瘾杭,所以結(jié)果輸出為17诅病。
? ? ? 我把17~23行代碼改一下就可以了,先計(jì)算結(jié)果粥烁,再判斷結(jié)果是否小于15即可贤笆,如下:
圖片發(fā)自簡(jiǎn)書App
圖片發(fā)自簡(jiǎn)書App
? ? ? ? 這樣得到的結(jié)果才是我們想要的,同時(shí)也回答了大大提出的問題讨阻,不管給狗狗增加多少歲芥永,只要狗狗的年齡超過15歲,代碼就提示:狗狗活不了那么長(zhǎng)時(shí)間钝吮。