我正在处理事件和数据库类。
我创建了一个while循环,它将继续将我的事件(对象)附加到我的数据库中。 只要用户没有输入命令“exit”,就会有一个命令在if主块中继续运行。
我的问题是,每当命令要求添加事件时,每次迭代都会删除前一个事件。
单词“event”的作用就像命令“exit”所以每当这个单词与一个事件字符串一起输入时(我已经实现了一个将事件字符串转换为事件对象的函数)。它将继续将一个事件对象添加到数据库中。
def parse(command):
'''Parse a command string.'''
# gist of event class Event(description, time, date, duration) not part of this function event string could be: '"Movie night" today 10:00pm'
store_event = Database() # where I should save my event objects
cmd_str = command.split()
a_lst =[]
while cmd_str[0] == "event": #while event is a command that the user wants
cmd_str = command.split()
cmd_str.pop(0) # I don't need the word "event" just the event string after it.
new_str = ' '.join(cmd_str)
an_event = parseevent(new_str) # converts string object to event objects
a_lst.append(an_event)
谢谢!
答案 0 :(得分:1)
我想你想这样做:
def parse(command, a_lst):
'''Parse a command string.'''
a,b = command.split(None,1)
if a == "event":
a_lst.append(b)
store_event = Database() # where I should save my event objects
parse('event blahblahbla',store_event)
parse('event youtchouiya',store_event)
parse('event print ramantiyi',store_event)
parse('event import re',store_event)
# etc etc