def main():
cash = float(input("How much money: "))
coins = 0
def changeCounter(n):
while True:
if cash - n > 0:
cash -= n
coins += 1
else:
break
return
main()
changeCounter(0.25)
当我运行此代码时,出现错误
UnboundLocalError:赋值前引用的局部变量“cash”
我怎样才能解决这个问题?
问题是变量cash
and coins
只活在函数的“范围”内main
,即在changeCounter
. Try:
def main():
cash = float(input("How much money: "))
coins = 0
return cash, coins
def changeCounter(n, cash, coins):
while True:
if cash - n > 0:
cash -= n
coins += 1
else:
break
# return
return coins # presumably
cash, coins = main()
changeCounter(0.25, cash, coins)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)