[英]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.