如何打印并使程序在python-3.x之后什么都不做



我想打印一个错误代码"DAT_GRESKA"或";GRESKA"在其他输入中,然后使代码什么也不做,但在我的情况下,它带我回去,要求我重做输入,因为它是假的。我如何使它停止,但不使用exit()或quit()。

import csv

def unos_csv():
    ucsv = input("Unesi CSV datoteku: ")
    if ucsv == 'raspored1.csv' or ucsv == 'raspored2.csv':
        ucsv = str(ucsv)
        return ucsv
    else:
        print('DAT_GRESKA')
        return main()

def ime_predmeta():
    subname = input("Unesi kod predmeta: ")
    if subname.isupper():
        return subname
    else:
        print("GRESKA")
        return main()

def obrada():
    file = open(unos_csv(), "r")
    reader = csv.reader(file, delimiter=',')
    predmet = ime_predmeta()
    with open(predmet + '.txt', 'a')as a:
        for row in reader:
            danu_nedelji = int(row[0])
            dejan = row[3].split('[')[1].split(']')[0]
            if predmet in row[3]:
                t1 = row[1]
                t2 = row[2]
                h1, m1 = t1.split(':')
                h2, m2 = t2.split(':')
                t11 = int(h1) * 60 + int(m1)
                t22 = int(h2) * 60 + int(m2)
                tkon = t22 - t11
                tkon = str(tkon)
                if danu_nedelji == 0:
                    a.write("Monday" + ' ' + row[1] + ' ' + row[2] + ' ' + tkon + ' ' + dejan + 'n')
                elif danu_nedelji == 1:
                    a.write("Tuesday" + ' ' + row[1] + ' ' + row[2] + ' ' + tkon + ' ' + dejan + 'n')
                elif danu_nedelji == 2:
                    a.write("Wednesday" + ' ' + row[1] + ' ' + row[2] + ' ' + tkon + ' ' + dejan + 'n')
                elif danu_nedelji == 3:
                    a.write("Thursday" + ' ' + row[1] + ' ' + row[2] + ' ' + tkon + ' ' + dejan + 'n')
                elif danu_nedelji == 4:
                    a.write("Friday" + ' ' + row[1] + ' ' + row[2] + ' ' + tkon + ' ' + dejan + 'n')
    a.close()

def main():
    obrada()

if __name__ == '__main__':
    main()
 

我想你误解了return语句的工作原理。

程序"继续"的原因…如果没有继续,则在另一次特别调用main程序。如果您只是想回到调用位置并继续,请使用

return

您使用

return main()

这是一个再次调用main的命令,等待它完成,并将该值返回给调用该函数的任何东西。

最新更新