Python 3.x 名称没有定义,但它在早期工作,现在没有';T完全相同的代码

Python 3.x 名称没有定义,但它在早期工作,现在没有';T完全相同的代码,python-3.x,Python 3.x,这里是Python的新手,我在网上练习一些问题。 不知何故,在处理了另一个问题之后,当代码完全相同时,该代码不再工作 def diff(a): a = int(input("Give me a number: ")) if a > 17: return (a-17)*2 else: return diff(a) 在函数diff之外,没有定义名称a。啊,我真傻,哈哈,但出于某种原因,我记得没有在函数之外定义变量;哦,威尔斯,谢谢!哦,

这里是Python的新手,我在网上练习一些问题。 不知何故,在处理了另一个问题之后,当代码完全相同时,该代码不再工作

def diff(a):
    a = int(input("Give me a number: "))
    if a > 17:
        return (a-17)*2
    else:
        return
diff(a)

在函数
diff
之外,没有定义名称
a
。啊,我真傻,哈哈,但出于某种原因,我记得没有在函数之外定义变量;哦,威尔斯,谢谢!哦,似乎在删除了a的定义之后,不管我输入的值是什么,现在都不知道为什么,可能是编译器在缓存什么的