python - 当输入条件为真时,'If'循环'和不打印消息
问题描述
我正在尝试编写一个迷你代码来检查用户/键输入是否正确,代码是下一个:
if emailstatus == True and email in UserKeys == True and UserKeys [email] == key :
print ('Checked, you can log in ')
else:
print ('wrong email or password, you can not log in')
'''
当我输入正确的电子邮件和密码时,我仍然无法登录(这会生成三重 True 值
我修复了这个问题,在( UserKeys 中的电子邮件)中的 if 条件中添加“()” == True
但我仍然不明白这个错误背后的逻辑
pd:完整的程序代码是这样的
解决方案
您的问题在于您正在检查凭据的 if 条件。
你写:
if emailstatus==True and email in UserKeys==True and UserKeys[email]==key:
在这里你可以做两件事:
1)要么删除==True
改动后(一):if emailstatus==True and email in UserKeys and UserKeys[email]==key:
2)或将电子邮件放在括号中的 UserKeys 中,如下所示:(email in UserKeys)==True
改动后(2):if emailstatus==True and (email in UserKeys)==True and UserKeys[email]==key:
实际上,如果该电子邮件存在则email in UserKeys
返回True
,因此您不必明确检查它
推荐阅读
- python - 为什么 Python 中的连接似乎变慢了?
- python - 使用 Folium 以米为单位显示半径
- uml - Enterprise Architect:为简单的 ECU 建模
- java - 使用 JAXB 注释的命名空间的 JAVA XML 解析
- apache-nifi - Nifi Clustering:嵌入式 Zookeeper 设置问题
- python - 如何在不使用等待的情况下拆分长协程?
- android - 如何更改 Firebase UI (Android) 国家代码选择器中文本的颜色
- excel - Excel删除熊猫公式单元格值
- .net-core - Aspose - PDF to Image (DotNetCore 2.1) - ERROR:region.c:1155:GdipCombineRegionPath: assertion failed: (region->bitmap)
- c - 如何在 typedef 结构中使用 const int?