代码之家  ›  专栏  ›  技术社区  ›  matthewr

Python 3,否则会导致语法错误

  •  0
  • matthewr  · 技术社区  · 7 年前

    大家好,我在python 3中有一段代码:

    def spss_script_3tests (dictionary):
    inv_test_dict = {v: k for k , v in dictionary.items()}
    for i in excel_log_absent['Pupil\nID/Barcode ']:
        pupil_id=(i.split('-'))[2]
        test_no=(i.split('-'))[1]
        #index in spss data of pupil id
        spss_pid_index=spss_pupilid.index[spss_pupilid[('PupilID',)] == pupil_id].tolist()
        # if t1 name in spss = t1 number in excel using dictionary
        if (spss_pupilid[('T1name',)][spss_pid_index] == dictionary[test_no]).iloc[0]:
            print('if PupilID = ',"'",pupil_id,"'",' Attendlog1 = 1',sep='')
            print('if PupilID = ',"'",pupil_id,"'",' testnum1 = ',test_no,sep='')
        else:
            print('if PupilID = ',"'",pupil_id,"'",' Attendlog2 = 1',sep='')
            print('if PupilID = ',"'",pupil_id,"'",' testnum2 = ',inv_test_dict[spss_pupilid[('T2name',)][spss_pid_index[0]]],sep='')
        else:
    

    很多无用的信息 else: 正在标记一个语法错误,我不知道为什么。据我所知,缩进的所有内容都应该是 ( [ 并且打印语句在那里工作正常,但有一个条件(否则,如果,while)不行。

    任何帮助都将不胜感激

    1 回复  |  直到 7 年前
        1
  •  0
  •   Chopi    7 年前

    您可能对标识有问题,或者只是您不了解 else .使用简单的 其他的 所有未输入第一个if的数据将输入else。

    您可以创建 else if 在python中是 elif 您的代码应类似于此:

    if expression1:
       statement(s)
    elif expression2:
       statement(s)
    else:
       statement(s)