Python Assistance для последовательностей

Напишите короткую функцию Python, которая принимает последовательность целочисленных значений и определяет, все ли числа различны. (То есть они разные)

2 ответа

Решение

Довольно просто Что бы я сделал, это вычел бы каждое число друг из друга. Если каждое число равно 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 вычитают каждое число из любого другого числа в другом списке. Каждый раз, когда значение не равно нулю, счетчик увеличивается. В конце,

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 будет ноль, так как оба списка имеют одинаковые номера.

РЕДАКТИРОВАТЬ: приведенный выше пример является быстрым, но если вы хотите, чтобы функция была пригодна для использования, вы бы добавили в функцию параметры, которые затем использовали бы в качестве чисел в ваших списках. Эти параметры позволят пользователю вводить числа, которые он хочет сравнить, если они разные. Однако в конечном итоге это будет ограничено, что если пользователь захочет сравнить больше чисел, чем указано в параметрах. Может быть, вы могли бы сделать следующий шаг и найти способ обойти это.

Использовать set,

def unique(numbers):
    return len(numbers) == len(set(numbers))
Другие вопросы по тегам