python - 为什么它只打印二维列表中的 4 个值?
问题描述
我正在将联系人终端应用程序作为一个迷你项目制作,但我不知道如何显示所有联系人。我想根据它的长度为其创建一个 for 循环,如下所示:
for i in range(len(contactBook)):
print(contactBook[0][indexToPrint], contactBook[1][indexToPrint])
indexToPrint += 1
它是功能的一部分:
indexToPrint = 0
if not contactBook:
print('Your contacts are empty')
else:
for i in range(len(contactBook)):
print(contactBook[0][indexToPrint], contactBook[1][indexToPrint])
indexToPrint += 1
我可以输入无限数量的联系人,但它只打印 4 个值(2 个姓名和 2 个数字)这是整个代码,我怎样才能让它打印更多或所有联系人?
contactsBookNames = []
contactsBookNumbers = []
contactBook = [contactsBookNames, contactsBookNumbers]
def seeYourContactList():
indexToPrint = 0
if not contactBook:
print('Your contacts are empty')
else:
for i in range(len(contactBook)):
print(contactBook[0][indexToPrint], contactBook[1][indexToPrint])
indexToPrint += 1
def toAddContact():
while True:
toAdd = input("Would you like to add a contact? ")
if toAdd == "Yes":
addingContact()
break
else:
seeYourContactList()
break
def addingContact():
contactsBookNames.append(input("What name do you want for this contact? "))
contactsBookNumbers.append(input("And now for the number... "))
addingMore()
def addingMore():
while True:
toAddpt2 = input("Would you like to add another contact? ")
if toAddpt2 == "Yes":
addingContact()
break
else:
seeYourContactList()
break
toAddContact()
解决方案
可能是因为contactBook
是 Nx2 列表,而不是您的代码假设的 2xN。您需要print(contactBook[0])
,print(contactBook[1])
进行检查,并将其输出编辑到问题中。
至于你的循环:
- 你想运行循环变量
i
,len(contactBook[0])
而不是len(contactBook)
- 它不需要单独的变量来
indexToPrint
复制i
已经在做的事情
所以改变你现有的代码: indexToPrint = 0 for i in range(len(contactBook)): print(contactBook[0][indexToPrint], contactBook[1][indexToPrint]) indexToPrint += 1
这只是一种非常复杂的说法:
for i in range(len(contactBook[0])):
print(contactBook[0][i], contactBook[1][i])
推荐阅读
- android - 我怎样才能让多边形看相机(OpenGL)?
- ckeditor - 字体名称和大小下拉列表中的 CKEditor(默认)项
- c# - C# 按下按钮时显示文本(包括文本框中的文本)
- laravel - 如果我不在 Laravel 中设置外键约束,会发生什么不好的事情吗?
- qt - 使用 Qt http 响应进行网络流程设计的正确方法
- php - 如何公开上传到 Amazon s3 的文件
- alexa - Alexa 技能:自定义插槽没有返回值
- typescript - 约束成员只接受扩展或实现其他类型的类型(不是实例)[TypeScript]
- amazon-web-services - 使用 AWS 安排对 IIS 的请求
- java - 确定字符是否为有效十六进制数字的方法?