![](/img/trans.png)
[英]'>' not supported between instances of 'float' and 'NoneType'
[英]'>=' not supported between instances of 'NoneType' and 'float'
我想運行我的代碼,但是,我不斷收到錯誤消息。 這是關於他們在其中輸入值的表單字段。 如果該值在特定范圍內,他們將獲得 1 歐元。 代碼是:
class Guess(Page):
form_model = 'player'
form_fields = ['guess']
def is_displayed(self):
return self.round_number == 2
def vars_for_template(self):
if self.player.guess >= 11.25 and self.player.guess <= 13.75:
self.player.cumulative_guthaben = self.player.cumulative_guthaben + 1
else:
self.player.cumulative_guthaben = self.player.cumulative_guthaben
return {
'current_credit': self.player.cumulative_guthaben,
'anzahlspieler': Constants.number_of_players,
'round_number': self.round_number,}
我知道這是一個類型錯誤,但我沒有成功修復它
Here is a shorter Version of my Class:
class Player(BasePlayer):
guthaben = models.CurrencyField(initial=c(0))
cumulative_guthaben = models.CurrencyField()
donation = models.FloatField(min=c(0))
earnedmoney = models.CurrencyField()
frequency = models.StringField()
rival = models.StringField()
guess = models.FloatField(label="Your Guess:")
您會收到錯誤,因為在某些時候self.player.guess
是 NoneType 並且它應該是 float 以將其與 float 進行比較。 您可以使用isinstance(i, type)
。 您不需要其他,因為您不會更改self.player.cumulative_guthaben
的值。 但是您應該檢查代碼的 rest,為什么self.player.guess
是 NoneType。 像這樣的東西:
class Guess(Page):
form_model = 'player'
form_fields = ['guess']
def is_displayed(self):
return self.round_number == 2
def vars_for_template(self):
if isinstance(self.player.guess, float):
if (self.player.guess >= 11.25 and self.player.guess <= 13.75):
self.player.cumulative_guthaben = self.player.cumulative_guthaben + 1
return {
'current_credit': self.player.cumulative_guthaben,
'anzahlspieler': Constants.number_of_players,
'round_number': self.round_number,}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.