Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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,我正在学习python,我不希望得到答案。我真的需要帮助 我得到了多个列表,我需要检查这些列表,以确保: a) 这不是一个空列表 b) 列表中有多个整数 c) 通过检查不同的对,检查列表中的整数是否具有偶数乘积值或奇数乘积值。例如list1=[1,2,3]。这将返回False,因为产品是均匀的list2=[3,2,3]将返回True,因为两个奇数对的乘积是奇数 以下是我的一些想法: a) 要检查是否为空列表,请键入: if not myList: return(False) 或 (

我正在学习python,我不希望得到答案。我真的需要帮助

我得到了多个列表,我需要检查这些列表,以确保:

a) 这不是一个空列表

b) 列表中有多个整数

c) 通过检查不同的对,检查列表中的整数是否具有偶数乘积值或奇数乘积值。例如
list1=[1,2,3]
。这将返回False,因为产品是均匀的
list2=[3,2,3]
将返回True,因为两个奇数对的乘积是奇数

以下是我的一些想法:

a) 要检查是否为空列表,请键入:

if not myList: 
    return(False) 

(b)

因为如果有两个偶数双打,那么它将返回偶数。我只想找到那个奇怪的产品

   if len(myList) % 2 != 0:
       for i in myList:
          if i % i == 1:
              return(True)
          else:
              return(False)
我应该测试一下,但实际上我刚刚写下这个。找到配对是相当困难的

我想如果最终结果是1,那么它们是相同的数字-对吗?这是我第一次使用这个网站,所以我不熟悉标准的提问方式(虽然我读过规则)

对不起,如果这是长期和感谢谁帮助了我

a) 这不是一个空列表

您的空容器检查似乎没有问题(只需去掉括号)

b) 列表中有多个整数

这不起作用,这是数字检查而不是列表长度检查:

if myList != 1: 
    return(True)
相反,您可能希望(这也会处理案例“a”):

但是模运算符
%
是除法,与乘法一样昂贵。为了避免这种情况,我们可以按位操作:

def are_all_odd(myList):  # odd product True; even product False
    return all(element & 1 for element in myList)

def is_any_even(myList):  # even product True; odd product False
    return any(~element & 1 for element in myList)

使用生成器作为
any()
all()
的输入意味着一旦确定答案,这些生成器将停止。但是,数据的顺序可能不是最佳的,以尽量减少测试次数。

应该知道,在上面显示的所有选项中,最惯用和“pythonic”的是
,如果不是lst
,因为两个奇数对的乘积是奇数的
我不太理解这里需要的逻辑!我也不懂c)。您是指检查列表中每个整数的乘积是偶数还是奇数?在学习python时,请尝试在程序中使用而不是。请澄清c部分的问题以及您的逻辑。您的Python使用不够强大,以至于您的代码无法自圆其说。例如,i%i始终为0:任何数字都会将自身等分。您似乎还混淆了列表及其内容:myList与myList[0]不同。
if len(myList) % 2 == 0: 
    return(False) 
   if len(myList) % 2 != 0:
       for i in myList:
          if i % i == 1:
              return(True)
          else:
              return(False)
if not myList: 
    return False
if myList != 1: 
    return(True)
if len(myList) < 2:
    return False
def are_all_odd(myList):  # odd product True; even product False
    return all(element % 2 for element in myList)

def is_any_even(myList):  # even product True; odd product False
    return any(element % 2 == 0 for element in myList)
def are_all_odd(myList):  # odd product True; even product False
    return all(element & 1 for element in myList)

def is_any_even(myList):  # even product True; odd product False
    return any(~element & 1 for element in myList)