我还在努力学习编程,所以请帮我简化一下。我正在尝试运行查看列表中索引的内容,如果找到1返回“yay”(仅用于调试目的)。这是我到目前为止所做的:
def replaceValues(distList, indexList):
for i in range (1,len(indexList)):
if indexList[i] = 1
return "yay!"
但是,每次运行时都会出现语法错误,这会强调1.请帮忙!
谢谢!
答案 0 :(得分:4)
除了不正确的缩进(在下面修复)之外,当你使用=
时,你正在使用==
,而你从if语句中遗漏了一个冒号。
=
用于分配值
==
评估相等性(返回一个布尔值,即True
或False
)
你在if语句中遗漏了:
。
更正后的代码:
def replaceValues(distList, indexList):
for i in range (1,len(indexList)):
if indexList[i] == 1:
return "yay!"
如果您不完全理解Python如何使用空格/缩进作为其语法/结构和其他语法基础的不可或缺的一部分,那么您需要继续使用ie教程..快速谷歌应该出现很多。我建议Udacity或Codeacademy
答案 1 :(得分:2)
我看到三个语法错误。
首先,you're using the =
sign (assignment) when you need ==
(comparison)。
其次,您在if
声明的末尾错过了冒号。
最后,必须* 在您的if
声明之后有一个缩进块。
总之,它应该是这样的:
if indexList[i] == 1: # double-equals and colon
return "yay!" # This must be indented to the proper level
你应该去看看tutorials;这是所有在那里布置得非常好的东西,并且在Python中做任何事情都是至关重要的。
*从技术上讲,您也可以在同一行上使用表达式if
语句(例如if 1: pass
)。但是,我个人认为这几乎在每种情况下都是可怕的。
答案 2 :(得分:0)
=
是一个赋值语句。例如:
name = "tyler"
您应该使用==
来检查基元的相等性(您要比较整数,它们是基元)。
切换:
if indexList[i] = 1
为:
if indexList[i] == 1
答案 3 :(得分:0)
试试这样:
def replaceValues(distList, indexList):
for k in range(1, len(indexList)):
if indexList[k] == 1:
return "yay!"