Py学习  »  Python

字典只捕获最后一个键值对Python

Sheikh Rahman • 5 年前 • 1433 次点击  

有一个名字字典和一个打印字典的函数。问题是当我运行create_user()函数时,它只捕获并打印最后的值。

users={}

def create_users():

    while True:
        choice=input('Create a new user?: Y/N ')
        if(choice=='y'):
           first_name=  input('Enter first name: ')
           users['first_name'] = first_name

           last_name= input('Enter last name: ')
           users['last_name']=last_name

           print(len(users))

        if(choice=='n'):
            print('Exit')
            break

def print_dir():
    print('Directory Item ','\n')
    for k,v in users.items():
        print(k,v)

create_users()
print_dir()

我在下面也试过这个,前后抓拍。那没有解决。

def create_user():
  first_name=  input('Enter first name: ')
  users['first_name'] = first_name

  last_name= input('Enter last name: ')
  users['last_name']=last_name

  while True:
        choice=input('Create a new user?: Y/N ')
        if(choice=='y'):
           first_name=  input('Enter first name: ')
           users['first_name'] = first_name

           last_name= input('Enter last name: ')
           users['last_name']=last_name 

有什么提示/线索我该怎么解决?谢谢

我根据建议尝试的其他项(嵌套字典)

users={}
users['username'] = {}

while True:
        choice=input('Create a new user?: Y/N ')
        if(choice=='y'):
           first_name=  input('Enter first name: ')
           users['username']['first_name'] = first_name

           last_name= input('Enter last name: ')
           users['username']['last_name']=last_name

我仍然有同样的问题,没有得到所有的价值观
创建新用户?:是/否

输入名字:james

输入姓氏:jones

创建新用户?:是/否

输入名字:rob

输入姓氏:william

创建新用户?:是/否

出口 目录项

用户名{'名字':'罗伯','姓氏':'威廉'}

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/51108
 
1433 次点击  
文章 [ 2 ]  |  最新文章 5 年前