編寫一個(gè)名為“compute_xp”的函數(shù),它接受兩個(gè)參數(shù),依次是整數(shù)和布爾值。如果布爾值為假(戰(zhàn)斗失?。?,該函數(shù)將返回 44993;如果布爾值為真(贏得戰(zhàn)斗),函數(shù)將返回 44993 加上整數(shù)參數(shù)def compute_xp(i, b): if b == 44993: return 44993 else: return 44993 + i這是我的代碼,但是當(dāng)我輸入一個(gè)值以使語句為真時(shí),我總是得到錯(cuò)誤的答案。
2 回答

POPMUISE
TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個(gè)贊
在原始代碼示例中,if b == 44993:將參數(shù)b與進(jìn)行比較44993。
由于b預(yù)期為布爾值,因此此比較將始終返回false。
這是我的解決方案:
def compute_xp(i, b):
if b:
return 44993 + i
else:
return 44993
if b:檢查 的布爾值b,所以如果b是true,return 44993 + i則將被執(zhí)行。如果b是false,return 44993則將被執(zhí)行。

牛魔王的故事
TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個(gè)贊
為什么要將布爾變量與數(shù)字進(jìn)行比較?嘗試:
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
添加回答
舉報(bào)
0/150
提交
取消