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

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

如果結果為 None 則返回 0 以避免 'NoneType'

如果結果為 None 則返回 0 以避免 'NoneType'

慕神8447489 2023-04-18 17:32:52
我正在嘗試添加 return 0 以防方程式的最終結果為 None 以防萬一: TypeError: unsupported operand type(s) for *: 'NoneType' and 'decimal.Decimal' 但它對我不起作用。這樣做的原因是沒有。售出數量可以為零,因此它返回類型錯誤。這是功能:    def designer_total_discount_price(self):        total_sold_discount = self.count_sold * self.discount_price        return 0 if total_sold_discount is None else total_sold_discount    def designer_total_price(self):        total_sold_regular = self.count_sold * self.price        return 0 if total_sold_regular is None else total_sold_regular    def designer_total(self):        if self.discount_price:            return self.designer_total_discount_price()        return self.designer_total_price()    def get_designer_final(self):        return self.designer_total() * self.designer_profit
查看完整描述

1 回答

?
汪汪一只貓

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

問題可能self.count_sold在于None。您不能將數字與 相乘None。除了確保self.count_sold始終None可以添加此方法之外:


? ? def get_count_sold(self):

? ? ? ? return 0 if self.count_sold is None else self.count_sold

然后你會換self.count_sold出self.get_count_sold(). 您還可以刪除 return 語句中的 if 語句。所以像這樣:


? ? def designer_total_discount_price(self):

? ? ? ? return self.get_count_sold() * self.discount_price


? ? def designer_total_price(self):

? ? ? ? return self.get_count_sold() * self.price

我希望它有所幫助!:)


查看完整回答
反對 回復 2023-04-18
  • 1 回答
  • 0 關注
  • 150 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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