简体   繁体   English

根据词典列表中的用户输入,打印特定的键值

[英]Print particular key value based on the user input from list of dictionaries

I want to print "account number" and "account balance" from list of dictionaries database. 我想从词典数据库列表中打印“帐户号”和“帐户余额”。 First I have verified the user inputs like FirstName,LastName and date of birth from the database, but now I don't know how to print its other values by filtering the dictionary in list based on the user input. 首先,我已经从数据库验证了用户输入的名字,姓氏和生日,但是现在我不知道如何通过基于用户输入过滤列表中的字典来打印其他值。 Here is my code: 这是我的代码:

 import re
    import datetime
    from datetime import date
    from collections import defaultdict
    from operator import itemgetter
    userDetails=[]


    accountDetails = [
                        {"FirstName": "JOHN", "LastName": "DENIS","date of Birth": "01-06-1992", "Account Number": "432524352345234", "Account Balance": "50000"},
                        {"FirstName": "AKASH", "LastName": "MAHAJAN", "date of Birth": "04-02-1995","Account Number": "43252435242342", "Account Balance": "100000"},
                        {"FirstName": "AMAN", "LastName": "RANA","date of Birth": "11-04-1996", "Account Number": "432524324234424", "Account Balance": "60000"},]
                        ]

  firstName=str(input("Enter First Name").upper())

    def isDuplicate(value, fieldName, database):
                        for entry in database:

                          if fieldName in entry and entry[fieldName] == value:

                                return True
                        else:
                                return False
     while True:  

           if(isDuplicate(firstName, "FirstName", accountDetails))==True:

                            userDetails.append(firstName)
                            break

                      else:
                            print('Enter valid First Name')
                            firstName=str(input("Enter First Name").upper())


    lastName=str(input("Enter Last Name").upper())
    #LASTNAME=firstName.upper()
    isDuplicate(lastName, "LastName", accountDetails)
    while True:  

           if(isDuplicate(lastName, "LastName", accountDetails))==True:
                            print("entered correct lastname")
                            userDetails.append(lastName)
                            break


           else:
                            print('Enter valid last Name')
                            lastName=str(input("Enter last Name"))

    dateOfBirth=str(input("Enter date of birth"))
    while True:  

           if(isDuplicate(dateOfBirth, "date of Birth", accountDetails))==True:
                            print("entered correct date of birth")
                            userDetails.append(lastName)

                            break

                      else:
                            print('Enter valid date of birth')
                            dateOfBirth=str(input("Enter date of birth"))
    def printRequiredUserInfo(FirstName,AccountNumer,Accountbalance,Database):
            for entry in Database:

                if entry.get("FirstName")=FirstName:

                      print("Your Account number is "+ entry[AccountNumer])
                      print("Your Account balance is "+ entry[Accountbalance])
    printRequiredUserInfo(firstName,"Account Number","Account Balance",accountDetails)
for x in accountDetails:
    if (x["FirstName"]==firstName) and (x["LastName"]==lastName) and (x["date of Birth"]==dateOfBirth):
        print(x["Account Number"]," ",x["Account Balance"])

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM