4

我正在使用 Python 3.x,并且正在尝试从__repr__函数中获取 f 字符串来报告,但我似乎无法让以下格式化字符串按照我期望的方式工作。

我不断收到“SyntaxError:解析时意外 EOF”

def __repr__(self):
    return f"Player has {'Soft' if self.soft > 0} {self.count}. Cards are {self.cards}."

给出错误的部分是 {'Soft' if self.soft > 0}。如果不清楚,我正在尝试包含单词“Soft”IFF self.soft>0,如果不是,请不要在字符串中添加任何单词。

4

1 回答 1

5

if语句不同,else条件表达式中的关键字不是可选的:

def __repr__(self):
    return f"Player has {'Soft' if self.soft > 0 else ''} {self.count}. Cards are {self.cards}."
于 2018-11-28T14:02:17.697 回答