![](/img/trans.png)
[英]Python compare two different CSV Files which values are not in the same rows
[英]how to compare if two values are the same but different cases in python
所以我正在做的练习是:
086 要求用户输入新密码。 请他们再次输入。 如果两个密码匹配,显示“谢谢”。 如果字母正确但大小写错误,则显示消息“它们必须大小写相同”,否则显示消息“不正确”。
我的尝试如下所示:
passw = input("Enter password: ")
passw2 = input("Enter password again: ")
if passw == passw2:
print("Thank you.")
elif passw != passw2 and passw.lower == passw2.lower:
print("They must be in the same case.")
else:
print("Incorrect.")
但这并没有给我我希望的结果。 这应该很简单,但你可以告诉我我是一个初学者:) 提前谢谢你!
马塞尔
passw.lower
是一个方法,方法本身,你可以调用它来获得小写的密码。 还要删除passw != passw2
在第二个ìf
如果这是强制性的True
if passw == passw2:
print("Thank you.")
elif passw.lower() == passw2.lower():
print("They must be in the same case.")
else:
print("Incorrect.")
更多的
passw = "Abc"
print(passw.lower(), "/", type(passw.lower()))
# abc / <class 'str'>
print(passw.lower, "/", type(passw.lower))
# <built-in method lower of str object at 0x00000202611D4730> / <class 'builtin_function_or_method'>
问题是您的elif
条件始终评估为True
:
elif passw != passw2 and passw.lower == passw2.lower:
str.lower
是 function,将 function 与相同的 function 进行比较逻辑上最终为True
。 您必须改为调用函数并比较它们的结果。 此外,您正在比较passw
和passw
两次:一次在if
条件下检查它们是否相同,一次在elif
条件下检查它们是否不同。 这是没有用的,因为只有当if
条件为False
时才会执行elif
条件。 遵循工作代码:
passw = input("Enter password: ")
passw2 = input("Enter password again: ")
if passw == passw2:
print("Thank you.")
elif passw.lower() == passw2.lower():
print("They must be in the same case.")
else:
print("Incorrect.")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.