“while”循环 - 重新执行程序

时间:2016-10-05 10:50:54

标签: python python-3.x

对于初学者,我只会说我是新鲜的Python程序员。 我开始编写数据库客户端,我有问题。 也许对许多人来说这个问题看起来很愚蠢,但对我来说,作为一个菜鸟,这是一个问题。

我编写了将数据添加到数据库的main_module 我想在最后一个条件之后,用户可以添加更多数据。 像这样的东西:     repeat = input(“你想创造新纪录吗?(Y / N)”)     如果重复= Y:         (程序从头开始)     其他:         (节目结束)

应该找到这样的条件?

以下是我的代码

import sqlite3
import time
import datetime
import sys

conn = sqlite3.connect('template.db')
c = conn.cursor()

def create_table(): #
    c.execute("CREATE TABLE IF NOT EXISTS Theft(template1 TEXT, template2 TEXT, template3 TEXT, template4 TEXT, template5 TEXT)")


def data_entry():
    unix = int(time.time())
    template1 = str(datetime.datetime.fromtimestamp(unix).strftime('%Y-%m-%d %H:%M:%S'))

    c.execute("INSERT INTO Theft(template1, template2, template3, template4, template5) VALUES (?, ?, ?, ?, ?)",
                (template1, template2, template3, template4, template5))

    conn.commit()

template2 = input("ENTER template ")
template3 = input("ITEM template ")
template4 = input("INPUT template ")
template5 = input("INPUT YOUR template: ")

accept = input("Do you wanna create new record in DB? (Y/N)")
if accept == "y":
    create_table(), data_entry()
elif accept == "Y":
    create_table(), data_entry()
else:
    sys.exit(0)


c.close()
conn.close()

此致 Jmazure:)

1 个答案:

答案 0 :(得分:0)

你必须把你的输入程序放在一个无限循环中,只有当用户输入的东西不是" y"或" Y":

while True:
    accept = input("Do you wanna create new record in DB? (Y/N)")
    if accept.lower() == "y": <-- checks if accept =="y" or accept == "Y"
        create_table(), data_entry()
    else:
        break