Вопрос Программирование на python

Регистрация
23 Фев 2013
Сообщения
75
Репутация
6
Спасибо
1
Монет
0
Требуется написать функцию same(), которая принимает на вход произвольное количество аргументов - натуральных чисел.

Гарантируется, что при вызове функции будет хотя бы одно число. Функция возвращает True, если все числа одинаковые, иначе False.
 
совсем тупи-тупи? изичную задачку решить не можешь
 
def same(*args):
if not all(isinstance(x, int) and x >= 0 for x in args):
raise ValueError("Input arguments must be non-negative integers")
return all(x == args[0] for x in args)
 
Вот пример реализации функции same(): def same(*args):
if len(args) < 2:
return True
else:
first = args[0]
for arg in args[1:]:
if arg != first:
return False
return True
Как это работает:

Функция принимает произвольное количество аргументов, указанных с помощью звездочки (*args).
Если количество аргументов меньше 2, то функция сразу возвращает True, потому что при одном числе оно всегда одинаковое.
В противном случае мы сохраняем первый аргумент в переменной first и проверяем каждый оставшийся аргумент на равенство с первым. Если хотя бы одно число отличается от первого, то функция сразу возвращает False.
Если все числа равны, то функция возвращает True.
Например: >>> same(1, 1, 1, 1)
True
>>> same(1, 2, 1, 1)
False
>>> same(3)
True
 
Назад
Сверху