【发布时间】:2016-09-12 21:55:26
【问题描述】:
我有我编写的这个程序,我使用了一个列表,因为您可以轻松地附加到它。使用字典,您不能附加到它。所以我想知道是否有一种方法可以用字典而不是列表来编写这个程序,如果是,那么如何呢?
我希望输出保持不变。只是当您将store = [] 更改为字典为store = {} 时,我该如何更改程序的其余部分,我只更改特定变量以从列表转到字典?
def SSN():
store = []
for i in range(0, 100):
store.append([])
i = 0
name = 'key'
while(name != ''):
name = input('Enter Name: ')
if(name == ''):
if(i<1):
break
j=0
while(j < i):
print(store[j][0] + ' has SSN ' + store[j][1])
j = j+1
break
j=0
val = 0
while(j < i):
if(name == store[j][0]):
val = 1
break
j = j + 1
if(val == 1):
update = input(name + ' has SSN ' + store[j][1] + '. Update? ')
if(update == 'y'):
store[j][1] = input('Enter SSN: ')
else:
ssn = input('Enter SSN: ')
store[i].append(name)
store[i].append(ssn)
i = i+1
SSN()
这完全符合我的要求,但它只是我想要的字典。 谢谢!
对于输出,我有这个:
Enter Name:约翰
Enter SSN: 1234
Enter Name:麦克
Enter SSN: 5678
Enter Name: wazowski
Enter SSN: 0000
Enter Name:麦克
mike has SSN 5678. Update?ý
Enter SSN: 6644
Enter Name:约翰
john has SSN 1234. Update? N
Enter Name:
john has SSN 1234
mike has SSN 6644
wazowski has SSN 0000
空格中的单词代表用户在程序提示时输入的内容。
【问题讨论】:
-
你能给我们展示一个输入和期望输出的例子吗?更容易准确理解您的要求。
-
@Cyb3rFly3r 在问题正文中更新。希望这会有所帮助。结果,我希望它保持不变。只是当您将
store = []更改为字典为store = {}时,我该如何更改程序的其余部分,我只更改特定变量以从列表转到字典? -
那么,如果您想将 (name, ssn) 对存储在字典中并能够在名称已经存在的情况下更新 ssn 是否正确?
-
@Cyb3rFly3r 正确。这正是我想要的。
标签: python list python-3.x dictionary append