0

编写一个简短的 Python 函数,该函数采用一系列整数值并确定所有数字是否不同。(也就是说它们是不同的)

4

2 回答 2

1

使用set.

def unique(numbers):
    return len(numbers) == len(set(numbers))
于 2013-10-08T16:28:24.863 回答
1

很简单。我会做的是,将每个数字彼此相减,如果每个数字都是 0,则所有数字必须相同,其他数字则不同。

def sequence():
 numbers1=[25,30,45,67]
 numbers2=[25,30,45,67]
 count=0
 for i in numbers1:
  for i2 in numbers2:
   if i-i2!=0:
      count+=1
 if count==(len(numbers1)*len(numbers2))-len(numbers1):
  print("all numbers are different.")

a=sequence()

在这里,您有两个列表。两个列表必须具有相同的编号才能正常工作。for 循环从另一个列表中的每个其他数字中减去每个数字。每次值不等于 0 时,count 都会增加。在最后,

if count is equal to the length of both lists multiplied by each other (which is 16) - the length of one list,

那么所有的数字都是不同的。您必须减去一个列表的长度一次,因为 4 次i-i2将为零,因为两个列表具有相同的数字。

编辑:上面是一个简单的示例,但是如果您希望该函数可用,那么您可以在函数中添加参数,然后将其用作列表中的数字。这些参数将作为用户输入他们想要比较的数字(如果它们不同)的一种方式。但是,这最终会受到限制,如果用户想要比较比参数中提供的更多的数字怎么办。也许您可以进行下一步并找到解决此问题的方法。

于 2013-10-08T17:34:48.737 回答