本文介绍了测试是否字符串 == 各种 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 后的替代项时始终为真的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-02 17:51