编写一个名为“compute_xp”的函数,它接受两个参数,依次是整数和布尔值。如果布尔值为假(战斗失败),该函数将返回 44993;如果布尔值为真(赢得战斗),函数将返回 44993 加上整数参数def compute_xp(i, b): if b == 44993: return 44993 else: return 44993 + i这是我的代码,但是当我输入一个值以使语句为真时,我总是得到错误的答案。
2 回答

POPMUISE
TA贡献1765条经验 获得超5个赞
在原始代码示例中,if b == 44993:将参数b与进行比较44993。
由于b预期为布尔值,因此此比较将始终返回false。
这是我的解决方案:
def compute_xp(i, b):
if b:
return 44993 + i
else:
return 44993
if b:检查 的布尔值b,所以如果b是true,return 44993 + i则将被执行。如果b是false,return 44993则将被执行。

牛魔王的故事
TA贡献1830条经验 获得超3个赞
为什么要将布尔变量与数字进行比较?尝试:
def compute_xp(i, b):
if b:
return 44993 + i
else:
return 44993
或者更短:
def compute_xp(i, b):
return 44993 + i if b else 44993
添加回答
举报
0/150
提交
取消