RimMirK
@RimMirK
Вроде человек. Вроде учусь. Вроде пайтону

Как перебрать все аргументы из функции и их обработать?

def is_prime(x):
	for i in range(2,(x//2)+1): 
		if x % i == 0: 
			return False
	return True

Надо чтобы я мог дать функции много чисел, а она вернула кортеж (или список) с тру или фолз
is_prime(5, 4, 7) # (True, False, True)

---------------------------------------------

def is_prime(n):
r = ()
for x in range(n):
    for i in range(2,(x//2)+1): 
        if x % i == 0: 
            r += False
            break
    r += True
return r
# TypeError: can only concatenate tuple (not "int") to tuple


def is_prime(*args):
r = ()
for x in args:
    for i in range(2,(x//2)+1): 
        if x % i == 0: 
            r += False
            break
    r += True
return r
# TypeError: can only concatenate tuple (not "int") to tuple
  • Вопрос задан
  • 124 просмотра
Решения вопроса 1
RimMirK
@RimMirK Автор вопроса
Вроде человек. Вроде учусь. Вроде пайтону
Нашел решение
def is_prime(*args):
	r = []
	for x in (args):
		if x > 1:
			b = True
			for i in range(2,(x//2)+1): 
				if x % i == 0: b = False
			r.append(b)
		else: r.append(False)
	if len(r) == 1: return r[0]
	return tuple(r)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Maksim_64
@Maksim_64
Data Analyst
def is_prime(*args):
    result = []
    for num in args:
        if num == 1:
            result.append(False)
        elif num > 1:
            for i in range(2,num):
                if (num % i) == 0:
                    result.append(False)
                    break
            else:
                result.append(True)
        else:
            result.append(False)
    return result
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы