对于初学者,我只会说我是新鲜的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:)
答案 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