发生了几个错误。 与^{cd1}类似的行并不意味着“如果^{{cd2}包含^{{cd3}或^{cd4}”。 Python将其解析为^{{cd5}–两个独立的条件。 第二个条件始终是^{cd6}。 因为非空字符串^{cd4}将转换为^{cd6}。 你真正想要的是^{{cd9}。
尝试指定全名字符串时,错误地返回了布尔值。 例如,行^{cd10}的读数可以是“Return^{cd6}如果^{{cd2}有^{cd13}; 否则,返回^{cd14}。 ’我不想在这里还任何东西。
希望下面的代码工作正常,可读且可以理解。 看看你能不能明白每一行的意思。 def __str__self ) :
‘ ‘ ‘ createsastringforappropriatedisplayofcards ‘ ‘ ‘
ifnotisinstanceself.r,int ) : # Cleaner than ‘==False ‘
if self.r==’ j ‘ or self.r==’ j ‘ :
r=’杰克’
elif self.r==’ q ‘ or self.r=’ q ‘ :
r=’Queen ‘
elif self.r==’ k ‘ or self.r==’ k ‘ :
r=’jjdwx ‘
elif self.r==’ a ‘ or self.r=’ a ‘ :
r=’Ace ‘
else:
r=strself.r )
ifself.s==’d’orself.s==’d’:
s=’Diamonds ‘
elif self.s==’ h ‘ or self.s=’ h ‘ :
s=’Hearts ‘
elif self.s==’ s ‘ or self.s=’ s ‘ :
s=’Spades ‘
elif self.s==’ c ‘ or self.s=’ c ‘ :
s=’Clubs ‘
return r ‘ of ‘ s