我在 python 中有类“Player”,想创建实例属性“deposit”,它打算取等于或大于 5000 的整数,否则引发错误或要求用户设置有效值。所以我尝试用“if else”实现它,但它不是令人满意的结果。
班级选手:
def __init__(self, deposit):
if deposit >= 5000:
self.deposit = deposit
else:
print('Minimum deposit is 5000')
pl = 玩家(4000) pl.deposit // AttributeError: 'Player' 对象没有属性 'deposit'
你得到一个 AttributeError 因为当存款值小于 5000 时没有创建
deposit
属性。
如果要在存款小于 5000 时提示用户设置有效存款值,可以使用循环和 input() 函数提示用户,直到输入有效存款值,如下所示:
class Player:
def __init__(self, deposit):
while deposit < 5000:
print('Minimum deposit is 5000')
deposit = int(input('Enter a valid deposit value: '))
self.deposit = deposit
pl = Player(4000)
pl.deposit
如果你只想提出错误,你可以这样做:
class Player:
def __init__(self, deposit):
if deposit >= 5000:
self.deposit = deposit
else:
raise ValueError('Minimum deposit is 5000')
pl = Player(4000)
pl.deposit