本文介绍了测试是否字符串 == 各种 OR 后的替代项时始终为真的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以我目前遇到的问题是我的程序总是调用我定义的md5cypher"类,即使输入不在该列表中:
So the problem I am currently having is that my program always calls the 'md5cypher' class which I have defined, even if the input is not in that list:
def enc():
global toe
if toe=='md5' or 'M' or 'm' or 'Md5' or 'MD5':
print("Md5 Encryption Cypher")
md5cypher()
else:
print("Sha1 Encryption Cypher")
shacypher()
我做错了什么?
推荐答案
实际上您正在检查:
if (toe=='md5') or 'M' or 'm' or....
并且由于 bool('M')
是 True
,您将始终通过该检查.试试这个:
And since bool('M')
is True
, you will always succeed that check. Try this instead:
if toe.lower() in ('md5', 'm'):
这篇关于测试是否字符串 == 各种 OR 后的替代项时始终为真的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!