作者gogogo123 (狗狗睪丸被割)
看板Python
標題[閒聊] 女巫獵人random一直跑Trun?
時間Thu Sep 26 13:09:33 2019
import random
class Witch:
def __init__(self,name,level):
self.name=name
self.level=level
def __repr__(self):
return ('{}(lv{})'.format(self.name,self.level))
def witchcraft_attack(self):
return random.randint(1,10)*self.level
class FireWitch(Witch):
def __init__(self,name,level,firestaff):
super().__init__(name,level)
self.firestaff=firestaff
def witchcraft_attack(self):
base_attack=super().witchcraft_attack()
if self.firestaff== True:
print("女巫噴火啦")
return base_attack*2
else:
return base_attack
firewitch=FireWitch('火焰女巫',5,random.choice([False,True]))
目前想說 random ture * 2 false * 1
但執行
firewitch.witchcraft_attack()
女巫噴火啦
Out[139]: 100
firewitch.witchcraft_attack()
女巫噴火啦
Out[140]: 80
firewitch.witchcraft_attack()
女巫噴火啦
Out[141]: 50
女巫一直噴火 感覺random 一直跑ture
為啥不會跑false呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 117.56.227.246 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1569474575.A.19B.html
※ 編輯: gogogo123 (117.56.227.246 臺灣), 09/26/2019 13:10:23
※ 編輯: gogogo123 (117.56.227.246 臺灣), 09/26/2019 13:29:32
→ MARGHT: 因為你只有在初始時候決定跑或不跑 09/26 13:46
→ TitanEric: Boolean比較建議用is不要用== 09/26 14:43
→ TitanEric: 或者是直接if bool_val 09/26 14:44
推 abr810416: 好奇為什麼用is比較好 09/27 20:55
推 sxy67230: Python 中的==是做值的比對,is是直接查詢位址,類似c 09/28 09:27
→ sxy67230: 的指針。雖然說效能上沒有明顯的差別,但是就是可讀性 09/28 09:27
→ sxy67230: 而已,一般你要做數值或是字串才建議用== 09/28 09:27