【问题标题】:Replacing blank values in key value pairs with new values in dictionaries (pythohn 3.x)用字典中的新值替换键值对中的空白值(python 3.x)
【发布时间】:2018-10-18 01:53:15
【问题描述】:

我需要创建一个字典来存储任意数量的用户名和密码对,但我不知道如何用新密码替换空白值。不幸的是,我必须先完成用户名输入,然后才能要求输入密码。

dictionary= {}   # blank database
userpassno = int(input("How many username and password pairs?"))    # user input for amount of pairs
for i in range(userpassno):     # loop that runs as many times as the number of pairs
    username = input("Enter username:")     # Username input
    database[username] = None               # No passwords yet
for i in range(userpassno):
    password = input("Enter password:")  # password input
    database[username] = password        # Puts passwords into database
print(database)

【问题讨论】:

  • 这是什么意思? "用新密码代替空白值"
  • 对不起,我应该更清楚一点,这个特定代码中的键值对是用户名-密码,第一个循环的密码留空,需要用实际值替换在第二个循环中。

标签: python python-3.x dictionary


【解决方案1】:

您可以使用一个列表来存储用户在第一个循环中输入的所有用户名,然后在第二个循环中使用存储的用户名将密码输入分配给dict中的相应条目:

database= {}   # blank database
userpassno = int(input("How many username and password pairs?"))    # user input for amount of pairs
usernames = []
for i in range(userpassno):     # loop that runs as many times as the number of pairs
    usernames.append(input("Enter username:"))     # Username input
for username in usernames:
    database[username] = input("Enter password:")  # password input
print(database)

【讨论】:

  • 我是这样做的,但是,要求规定需要先输入所有用户名,然后在完成用户名后,需要输入密码。因此,例如,假设用户需要输入 2 个用户和密码对,输出应如下所示: Enter username Enter username Enter password Enter password 然后我需要将两者关联起来。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-15
  • 2019-11-09
  • 2022-12-06
  • 2022-01-05
  • 2021-08-31
相关资源
最近更新 更多