Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在这个python函数定义中是否没有正确使用运算符?_Python - Fatal编程技术网

在这个python函数定义中是否没有正确使用运算符?

在这个python函数定义中是否没有正确使用运算符?,python,Python,我试图定义一个函数,它接受一个字符串参数,如果字符串是a、c、e或g,它会产生1,如果字符串是b、d、f或h,它会产生0 def ifodd_str(col): if col == 'a' or 'c' or 'e' or 'g': return 1 elif col == 'b' or 'd' or 'f' or 'h': return 0 ifodd_str('a') 问题是如果odd_str'b'返回1。我的if语句有什么问题吗?代码的问

我试图定义一个函数,它接受一个字符串参数,如果字符串是a、c、e或g,它会产生1,如果字符串是b、d、f或h,它会产生0

def ifodd_str(col):
    if col == 'a' or 'c' or 'e' or 'g':
        return 1
    elif col == 'b' or 'd' or 'f' or 'h':
        return 0

ifodd_str('a')

问题是如果odd_str'b'返回1。我的if语句有什么问题吗?

代码的问题是,实际上没有将col与预期的字符进行比较。您正在检查每个字符的值,它将始终返回true

您必须比较每种情况下的平等性:

如果列='a'或列='c'或列='e'或列='g': 做点什么 您还可以使用列表来测试:

如果列在['a','c','e','g']中: 做点什么 如果列在['a','c','e','g']中: