【发布时间】:2018-10-19 18:48:08
【问题描述】:
我是编程新手,自本学期开始以来,我刚刚遇到了我的第一个减速带。我们一直在使用 python,我们最近的任务是改变以前的程序来使用函数。我正在了解如何使用它们以及不使用它们,但是我认为我缺乏对局部变量的一些小东西的概念理解。
我使用 pycharm 编写作业,我可以看到它指出我的一个变量未使用,我不明白为什么或如何修复它。我已经修补了几个小时,然后迷路了。
# Function "checkName" takes in 2 parameters
# The first is name, which will be given by user input
# The second is nameList, which comes from the function getNamesList
def checkName(name, nameList):
for i in range(0, len(nameList)):
if name == nameList[i]:
rank = i + 1
break
else:
rank = 0 ## This rank is undefined ##
return rank
关于我做错了什么的任何指示?对定义局部变量和全局变量之间差异的解释也将不胜感激!
【问题讨论】:
-
您的
return语句缩进太远。备份一级。 -
'我的变量之一......':哪一个?在哪里?
-
这只是
rank = nameList.index(name) + 1 if name in nameList else 0 -
当您点击
break语句时,该函数将完成并返回None。这可能不是你想要的。我在这个函数中看不到任何未使用的局部变量。您确定警告不是由其他功能引起的吗?
标签: python variables pycharm local