繁体   English   中英

python-3.x 之后如何打印并使程序不执行任何操作

[英]How to print out and make program do nothing after that 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 如果您只是想 go 回到调用位置并继续,请使用

return

你用过

return main()

这是一个再次调用main的命令,等待它完成,然后将该值发送回名为 function 的任何东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM