回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在尝试向代码中添加python函数,但这样做时会出现UnboundLocalError:</p>
<blockquote>
<p>Traceback (most recent call last): </p>
<p>File "/Users/name/Documents/project.py", line 44, in
logic(coinType, 3.56, bagWeight, 356, 0.01)</p>
<p>File "/Users/name/Documents/project.py", line 14, in logic
valueAddedCoins += value UnboundLocalError: local variable 'valueAddedCoins' referenced before assignment</p>
</blockquote>
<pre><code>def logic(coin_txt, w1, wBag, cWeight, vCoin):
diff = abs(wBag - cWeight)
if diff == 0:
print("Bag ok")
return
coins = diff / w1
value = coins * vCoin
if wBag < cWeight:
valueAddedCoins += value
print(int(coins), coin_txt, " coins missing")
print(diff, "grams too little")
else:
valueRemovedCoins += value
print(int(coins), coin_txt, " coins too many")
print(diff, " grams too many")
valueAddedCoins = 0
valueRemovedCoins = 0
numBagsChecked = 0
continueChecking = True;
while continueChecking:
#asking information about the coins and deducing wether or not the weight is correct
bagWeight = float(input("Weight of bag of coins (no unit): "))
coinType = input("Type of coins in bag: 1 pence or 2 pence?")
numBagsChecked += 1
if coinType == "1 pence":
logic(coinType, 3.56, bagWeight, 356, 0.01)
elif type_of_coin == "2 pence":
logic(coinType, 7.12, bagWeight, 712, 0.02)
check = input("Another bag? (Y/N): ")
if check == "N":
continueChecking = False
</code></pre>
<p>为什么会出现UnboundLocalError</p>