我一直在谷歌搜索30分钟,但我无法找到解决问题的方法。 请帮忙!
import math
amount = input("Enter amount of medicine left: ")
dose = input("Enter dose per day: ")
def convertString(str):
try:
returnValue = int(str)
except ValueError:
returnValue = float(str)
return returnValue
def count_days(amount, dose):
last_days = amount / dose
return last_days
print("Your medicine will run out in ",last_days," days.")
我收到此错误: NameError:未定义名称“last_days”
为什么这不起作用?
答案 0 :(得分:0)
last_days
仅在count_days
内定义。在文件顶部初始化变量以更改可见性
答案 1 :(得分:0)
last_days
函数中的变量count_days
是 local 。这意味着只要函数结束,变量就不再可用。然而,这不是问题,因为函数实际上返回该值,使其可供其他人使用。
因此,当您执行my_var = count_days(amount, dose)
时,该函数将执行,并返回其last_days
结果,然后将其存储在my_var
中。
last_days = count_days(amount, dose)
print("Your medicine will run out in ", last_days, " days.")