while True
LIMIT = 10.30
MAX_TRIES = 5
total_students = 0 # σύνολο μαθητών
qualified_students = 0 # πόσοι προκρίθηκαν
best1_name = ""
best2_name = ""
best1_score = -1
best2_score = -1
while True:
name = input("Δώσε όνομα μαθητή (ή ΤΕΛΟΣ): ")
if name.upper() == "ΤΕΛΟΣ":
break
total_students += 1
best_throw = 0
qualified = False
tries_used = 0
# έως 5 προσπάθειες
for i in range(1, MAX_TRIES + 1):
distance = float(input(f"Προσπάθεια {i} σε μέτρα: "))
tries_used += 1
if distance > best_throw:
best_throw = distance
if distance >= LIMIT:
qualified = True
break
# --- Αποτελέσματα για τον μαθητή ---
if qualified:
print(f"{name}: ΠΡΟΚΡΙΝΕΤΑΙ με {best_throw} μέτρα σε {tries_used} προσπάθειες.")
qualified_students += 1
else:
print(f"{name}: ΔΕΝ ΠΡΟΚΡΙΝΕΤΑΙ. Καλύτερη επίδοση: {best_throw} μέτρα.")
# --- Ενημέρωση δύο καλύτερων επιδόσεων ---
if best_throw > best1_score:
best2_score = best1_score
best2_name = best1_name
best1_score = best_throw
best1_name = name
elif best_throw > best2_score:
best2_score = best_throw
best2_name = name
# --- Δύο καλύτερες επιδόσεις ---
print("\n--- ΔΥΟ ΚΑΛΥΤΕΡΕΣ ΕΠΙΔΟΣΕΙΣ ---")
if best1_score >= 0:
print(f"1η καλύτερη: {best1_name} με {best1_score} μέτρα")
if best2_score >= 0:
print(f"2η καλύτερη: {best2_name} με {best2_score} μέτρα")
# --- Ποσοστό προκριθέντων ---
if total_students > 0:
percentage = qualified_students * 100 / total_students
else:
percentage = 0
print(f"\nΠοσοστό μαθητών που προκρίθηκαν: {percentage:.2f}%")
LIMIT = 10.30 # όριο πρόκρισης
MAX_TRIES = 5 # μέγιστες προσπάθειες
students = [] # λίστα με στοιχεία (όνομα, καλύτερη επίδοση, προσπάθειες, προκρίθηκε)
while True:
name = input("Δώσε όνομα μαθητή (ή ΤΕΛΟΣ): ")
if name.upper() == "ΤΕΛΟΣ":
break
best_throw = 0
qualified = False
tries_used = 0
# Διαβάζουμε μέχρι 5 προσπάθειες
for i in range(1, MAX_TRIES + 1):
distance = float(input(f"Προσπάθεια {i} σε μέτρα: "))
tries_used += 1
if distance > best_throw:
best_throw = distance
if distance >= LIMIT:
qualified = True
break # σταματάει όταν περάσει το όριο
students.append((name, best_throw, tries_used, qualified))
# --- Αποτελέσματα για κάθε μαθητή ---
print("\n--- ΑΠΟΤΕΛΕΣΜΑΤΑ ΜΑΘΗΤΩΝ ---")
for name, best, tries, qualified in students:
if qualified:
print(f"{name}: ΠΡΟΚΡΙΝΕΤΑΙ με {best} μέτρα σε {tries} προσπάθειες.")
else:
print(f"{name}: ΔΕΝ ΠΡΟΚΡΙΝΕΤΑΙ. Καλύτερη επίδοση: {best} μέτρα.")
# --- Δύο καλύτερες επιδόσεις ---
print("\n--- ΔΥΟ ΚΑΛΥΤΕΡΕΣ ΕΠΙΔΟΣΕΙΣ ---")
# ταξινόμηση κατά επίδοση (φθίνουσα)
sorted_students = sorted(students, key=lambda x: x[1], reverse=True)
top2 = sorted_students[:2]
for s in top2:
print(f"{s
}: {s[1]} μέτρα")
# --- Ποσοστό προκριθέντων ---
total = len(students)
qualified_count = sum(1 for s in students if s[3] == True)
if total > 0:
percentage = (qualified_count / total) * 100
else:
percentage = 0
print(f"\nΠοσοστό μαθητών που προκρίθηκαν: {percentage:.2f}%")