错误:在"def"上语法无效

1 投票
1 回答
30928 浏览
提问于 2025-04-16 22:34

我在定义 add_entry 函数的时候,出现了无效语法的错误,错误信息显示在 def 这个词前面。我完全不知道为什么会这样。我尝试把这行代码注释掉,但结果在另一个函数上也出现了同样的错误。我现在使用的是 Python 2.7。

date,number = 0,1
month,day,year = 1,2,0
from datetime import datetime

def home():
    option = ''
    option = raw_input('Press ENTER to view log or input anything to add entries: ')
    print '\n'
    if option == '':
        view_log()
    else:
        add_entry()

def view_log():
    log_a = open('storage.txt', 'r')
    log_b = log_a.read()
    for line in log_b:
        print line[date[month]],line[date[day]],line[date[[year]],line[number]

def add_entry():
    old_entry = open('storage.txt', 'r')
    save = ''
    for line in old_entry:
        save = save + line
    new_entry = open('storage.txt','w')
    new = input_entry()
    save = save + str(new) + '\n'
    new_entry.write(save)

def input_entry():
    n_date = get_date()
    print 'Todays date is: %s/%s/%s' %(n_date[month],n_date[day],n_date[year])
    n_number = raw_input('What was todays number? ')
    return (n_date,n_number)

def get_date():
    time_a = datetime.now()
    time_b = str(time_a)
    time_c = time_b.split(' ')
    time_d = time_c[0].split('-')
    time_e = tuple(time_d)
    return time_e

1 个回答

12

你在 view_log 里的打印语句多了一个 [ 符号。应该是这样:

    print line[date[month]],line[date[day]],line[date[year]],line[number]

撰写回答