Ski*_*ilo 1 python sqlite python-3.x
def print_db():
con = lite.connect('master.db')
print ('Enter a first name:')
firstname = input('> ')
with con:
cur = con.cursor()
data = cur.fetchone()
cur.execute("SELECT * FROM Contacts WHERE First = (?);", (firstname,))
list_title = ['First Name', 'Last Name', 'Phone', 'Email']
k = 0
for i in cur:
print ("\n")
for j in i:
print (list_title[k],)
print (j)
if k < 5: k+=1
else:
k = 0
print (data)
print ('Enter 1 to return to main menu')
userinput = input('> ')
if userinput == "1":
main()
else:
main()
Run Code Online (Sandbox Code Playgroud)
打印时回溯列表索引超出范围 (list_title)[k],)
好的更新,所以你可以看到整个功能。
k < 5在 k 达到 之前仍然为真5,这意味着最大数量k是4。请记住,列表索引从 开始计数0,因此最高索引k是3。
因此,当您尝试 get 时list_title[4],您会得到一个IndexError.
您必须更改k < 5为k < 4.
for j in i:
print (j)
if k < 4:
print (list_title[k],) #Move it to the condition here
k+=1
else:
k = 0
Run Code Online (Sandbox Code Playgroud)
这样,当的值k是4,k将重置0,并不会发生错误。
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
4857 次 |
| 最近记录: |