使用python列表中的嵌套字典中存储的值来验证作为用户输入的出生日期

罗恩·克里

我正在尝试验证用户的出生日期,并将其与词典数据库中存储的值进行比较。但是,即使我输入了正确的出生日期值,也无法验证该值。这是我的代码:

from collections import defaultdict



accountDetails = [
    {"FirtsName": "JOHN", "LastName": "DENIS","date of Birth": "01-06-1992", "Account Number": "432524352345234", "Account Balance": "50000"},
    {"FirtsName": "AKASH", "LastName": "MAHAJAN", "date of Birth": "04-02-1995","Account Number": "432524352345234", "Account Balance": "50000"},
    {"FirtsName": "AMAN", "LastName": "RANA","date of Birth": "11-04-1996", "Account Number": "432524352345234", "Account Balance": "50000"},
    {"FirtsName": "ANKUR", "LastName": "JAIN","date of Birth": "21-05-1990", "Account Number": "432524352345234", "Account Balance": "50000"},
]


d = defaultdict(lambda: defaultdict(dict))
for item in accountDetails:
    d[item['FirtsName']][item['LastName']][item['date of Birth']] = item

# get valid first name
while True:
    first_name_input = input('Enter First Name:\n').upper()
    if first_name_input in d:
        break
    else:
        print('Enter valid First Name')

# get valid last name
while True:
    last_name_input = input('Enter Last Name:\n').upper()
    if last_name_input in d[first_name_input]:
        break
    else:
        print('Enter valid Last Name')
                         # get valid last name
while True:
    dob_input = input('Enter dob:\n')
    if  dob_input in d[first_name_input]:
        break
    else:
        print('Enter valid dob')


print(d[first_name_input][last_name_input])

用户已输入值as-04-02-1995

pp

您需要在嵌套字典第二级中对键进行测试

while True:
    dob_input = input('Enter dob:\n')
    if dob_input in d[first_name_input][last_name_input]:
        break
    else:
        print('Enter valid dob')

当您print创建嵌套字典的结构时,这一点变得很清楚

print(d)

defaultdict(<function __main__.<lambda>>,
            {'AKASH': defaultdict(dict,
                         {'MAHAJAN': {'04-02-1995': {'Account Balance': '50000',
                            'Account Number': '432524352345234',
                            'FirtsName': 'AKASH',
                            'LastName': 'MAHAJAN',
                            'date of Birth': '04-02-1995'}}}),
             ...
             'JOHN': defaultdict(dict,
                         {'DENIS': {'01-06-1992': {'Account Balance': '50000',
                            'Account Number': '432524352345234',
                            'FirtsName': 'JOHN',
                            'LastName': 'DENIS',
                            'date of Birth': '01-06-1992'}}})})

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

React:使用出生日期输入作为死亡日期的最小值

在C ++中验证出生日期

将出生日期存储在数据库中作为UNIX时间?

如何在C编程中以出生日期格式作为字符串输入

将用户出生日期html输入转换为php中的年龄

如何使用php在MySQL中插入出生日期?

Android中的出生日期问题

我想在python中获取用户的出生日期

MM / dd / yyyy格式的出生日期字段的日期,并自动在验证中添加“ /”

在Ruby on Rails中使用滑块输入出生日期

出生日期的DatePicker验证

出生日期验证持续显示

Laravel - 在规则请求中验证今天之前 18 年的出生日期

在MySQL中存储年龄的良好模式,无需参考出生日期

如何在Bootstrap 3中以垂直形式显示出生日期输入字段?

Titanium Appcelerator - 在文本字段中输入出生日期

如何在PHP代码中包含jQuery Datepicker插件以输入出生日期

在Java中从年龄查找出生日期

硒 - Python | 使用标签的出生日期字段

如果值重复,这是从Tableau中的出生日期算起年龄的正确方法吗?

使用出生日期计算年龄

如何根据 Python Pandas 中的重要情况将数字转换为出生日期?

出生日期,加入日期和离开日期的验证

需要验证出生日期用户应为 18 岁及以上

验证出生日期大于今天?

从PHP出生日期起的基本年龄验证

mydatepicker disableSince选项,用于验证出生日期

如何使用Express-Validato验证出生日期?

根据出生日期搜索用户年龄