Python无效语法是我的空白

Python Invalid Syntax is my Whitespace

我对Python相当陌生,但我知道相当多。我做了一个简单的程序,将商品添加到杂货清单中。我有一个问题,它关闭后,尽快打印项目,所以我正在努力解决它。这是整个计划。

1
2
3
4
5
6
7
8
9
10
11
12
grocery_list = open('list.txt', 'a')
print 'This is your python grocery list project.'
newitems = raw_input('Add items (seperate with commas):')
grocery_list.write(newitems)
grocery_list = open('list.txt', 'r')
list = grocery_list.readlines()
print list
choice = raw_input('Do you want to close your grocery list? (y/n)')
if choice == 'y'
  exit()
elif
  raw_input("We're waiting, please enter y to close")

我现在的问题是,在第9行,后面的空格都是无效语法!我做错了什么,有没有更好的方法来解决我的问题,它在打印项目时立即关闭?


您忘记了冒号:

1
if choice == 'y'

应该是

1
if choice == 'y':

另外,你需要在elif之后有一个条件(和一个结肠)。

ETA:另外,一旦程序结束,它将自动关闭,不需要调用exit()(尤其是如果你输入n),它会自动关闭)。如果要让程序在退出前等待用户键入密钥,只需执行以下操作:

1
raw_input("Press enter to exit")

(无需检查输入内容)。


在你的if和elif声明之后,你需要EDOCX1[0]

语法应该如下所示:

1
2
3
4
5
6
    if condition:
        do..something..
    elif condition:
        do..something..
    else:
        do..something..

在这里查看更多信息