Wybór jednego z wielu argumentów

0

Jak można napisać funkcję, która sprawdzi podane argumenty i jeżeli przynajmniej jeden z nich spełnia jakiś warunek to wypisze ten spełniony argument? Czyli np. jakbym podał find(2) i to wypisze mi 2. Jakbym podał find(1, 4) to wypisze mi 4 a jak find(1, 8, 4) to 8 (bo wystarczy pierwszy spełniony argument)


def find(*args):
    #if przynajmniej jeden z args % 2 == 0
    #print ten arg który spełnia ten warunek

find(1, 3, 6) #wypisze 6
1
def find(*args):
	for arg in args:
		if int(arg)%2 == 0:
			print (arg)

find(1, 3, 6) #wypisze 6

http://ideone.com/xQKjJn

1
def find(*args):
    print(for arg in args if int(arg) % 2 == 0)
0

zamiast pisac funkcje per predykat mozesz uzyc next

print next(i for i in [1, 2, 3] if i % 2 == 0) # wypisze 2
0

Nie no jak sie bawić to juz lepiej:

def find(predicate, *args):
	return next(filter(predicate, args))

print(find(lambda x: x%2==0, 1, 3, 6))

1 użytkowników online, w tym zalogowanych: 0, gości: 1