我有以下代码,但我遇到了语法错误,怎么了?:
name = 'Carol'
age = 3000
if name == 'Alice':
print('Hi, Alice')
if age < 12:
print('You are not Alice, kiddo.')
else:
print('You are neither Alice nor a little kid.')
syntax error line 7(the else operator)
正如@Peter描述的那样,缩进在python中非常重要,一个缩进可能会导致不同的结果或错误。在您的代码中,else
没有正确缩进。它的缩进必须与if
的缩进相同。这导致代码中出现语法错误。
这将给你你正在寻找的结果:
name = 'Carol'
age = 3000
if name == 'Alice':
print('Hi, Alice')
elif age < 12:
print('You are not Alice, kiddo.')
else:
print('You are neither Alice nor a little kid.')
以下是将运行的格式的python代码。
name = 'Carol'
age = 3000
if name == 'Alice':
print('Hi, Alice')
if age < 12:
print('You are not Alice, kiddo.')
else:
print('You are neither Alice nor a little kid.')
https://realpython.com/run-python-scripts/将向您展示如何运行该程序。欢迎来到编程世界!
Python中的缩进非常重要,不清楚缩进的问题是由于您如何创建问题还是实际格式化代码造成的。您的示例可能意味着以下任一项:
name = 'Carol'
age = 3000
if name == 'Alice':
print('Hi, Alice')
if age < 12:
print('You are not Alice, kiddo.')
else:
print('You are neither Alice nor a little kid.')
其不输出(对于所提供的变量(
或
name = 'Carol'
age = 3000
if name == 'Alice':
print('Hi, Alice')
if age < 12:
print('You are not Alice, kiddo.')
else:
print('You are neither Alice nor a little kid.')
其输出";你既不是爱丽丝,也不是小孩子"这可能是一个公然的谎言,因为下面的输出相同:
name = 'Alice'
age = 3000
if name == 'Alice':
print('Hi, Alice')
if age < 12:
print('You are not Alice, kiddo.')
else:
print('You are neither Alice nor a little kid.')
尽管这是一个微不足道的例子,但正如您所看到的,它们将生成的输出非常不同。我怀疑,从生成的输出来看,您想要的是上面的第一个例子。
这里有点猜测,但你把代码粘贴到vi中了吗?如果是这样的话,vi倾向于尝试提供帮助并缩进代码,但这可能会导致文本/代码的每一行都有不断增加的缩进(可以通过更改vi配置进行修改(。