#!/usr/bin/python3

"""
ΑΣΚΗΣΗ 13
Να γράψετε συνάρτηση που να υπολογίζει το μεγαλύτερο περιττό αρθιθμό μεταξύ των ακεραίων x, y και z
"""

# Βοηθητική μεταβλητή για να παίρνουμε απευθείας το όρισμα από την συνάρτηση findMaxOdd()
given_numbers=None

def findMaxOdd(*integers):

	global given_numbers
	given_numbers = integers
	
	if len(integers)==0:
		return
	else:
		maxOdd=None
		for el in set(integers):
			if el%2==1:
				if maxOdd is None or el>maxOdd:
					maxOdd=el
		return maxOdd

"""
ΠΡΟΣΟΧΗ:
Η σειρά συγκρίσεων μέσα σε μια εντολή if (ειδικά όταν χρησιμοποιούνται λογικοί τελεστές όπως or, and) είναι καθοριστική για την εκτέλεση του κώδικα.
Όταν χρησιμοποιείται ο τελεστής or, αν η πρώτη συνθήκη είναι True, τότε οι υπόλοιπες συνθήκες δεν αξιολογούνται και η συνολική συνθήκη είναι True.
Όταν χρησιμοποιείται ο τελεστής and , αν η πρώτη συνθήκη είναι False, τότε οι υπόλοιπες συνθήκες δεν αξιολογούνται και η συνιλική συνθήκη είναι False.
"""

def main():
	m = findMaxOdd(5,7,8)
	print(f"Ο μεγαλύτερος περιττός αριθμός από τους {given_numbers} είναι {m}")

	m = findMaxOdd(5,7,8,9,10,11,12)
	print(f"Ο μεγαλύτερος περιττός αριθμός από τους {given_numbers} είναι {m}")

	m = findMaxOdd(4,6,8)
	print(f"Ο μεγαλύτερος περιττός αριθμός από τους {given_numbers} είναι {m}")

if __name__=="__main__":
	main()
