Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 每当我尝试运行此程序时,我都会得到';名称错误:名称';狗龄';未定义;我该如何解决这个问题?_Python - Fatal编程技术网

Python 每当我尝试运行此程序时,我都会得到';名称错误:名称';狗龄';未定义;我该如何解决这个问题?

Python 每当我尝试运行此程序时,我都会得到';名称错误:名称';狗龄';未定义;我该如何解决这个问题?,python,Python,我总是在将变量dog_age更改为float时遇到一个name错误,如何防止这种情况发生 import traceback def calculator(): dog_age = input("Input dog years: ") try: dog_age = float(dog_age) 您的try块在函数定义之外。除了之外,在没有的情况下尝试也是无效的。首先: def calculator(): dog_age = float(input(&

我总是在将变量dog_age更改为float时遇到一个name错误,如何防止这种情况发生

import traceback

def calculator():
    dog_age = input("Input dog years: ")
try:
    dog_age = float(dog_age)

您的
try
块在函数定义之外。除了之外,在没有的情况下尝试也是无效的。首先:

def calculator():
    dog_age = float(input("Input dog years: "))
如果随后添加一个
try/except
,请确保它在函数范围内:

def calculator():
    try:
        dog_age = float(input("Input dog years: "))
    except ValueError:
        print("That's not a number, sorry!")

缩进在Python中很重要,它定义了作用域。实际上
try:dog\u age=float(dog\u age)
在函数
calculator()之外。
'try'块可能缺少正确的缩进?根据@Cid的注释,这也是无效代码,解决此问题后将抛出另一个错误<代码>尝试块必须与除块之外的
块配对。如果您不希望在
dog\u age
无法转换为float时发生任何事情,
除了:pass
就可以了。