3746 - LeMans

From Bitnami MediaWiki
Revision as of 20:13, 2 June 2024 by Benzar Ioan (talk | contribs) (Pagină nouă: == Cerința == În cadrul unei curse de mașini LeMans, fiecare mașină trebuie să finalizeze un anumit număr de ture pentru a completa cursa. Organizatorii doresc să afle ordinea în care mașinile au terminat cursa, în funcție de numărul de ture completate. Sarcina ta este să implementezi un program care sortează mașinile în funcție de numărul de ture completate în ordine descrescătoare. == Date de intrare == Programul citește de la tastatură: Un număr î...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerința

În cadrul unei curse de mașini LeMans, fiecare mașină trebuie să finalizeze un anumit număr de ture pentru a completa cursa. Organizatorii doresc să afle ordinea în care mașinile au terminat cursa, în funcție de numărul de ture completate. Sarcina ta este să implementezi un program care sortează mașinile în funcție de numărul de ture completate în ordine descrescătoare.

Date de intrare

Programul citește de la tastatură:

Un număr întreg n reprezentând numărul de mașini. O listă de n numere întregi reprezentând numărul de ture completate de fiecare mașină.

Date de ieșire

Pe ecran se va afișa lista de numere de ture completate de fiecare mașină, sortată în ordine descrescătoare.

Restricții și precizări

  • 1 ⩽ n ⩽ 1000
  • Numărul de ture pentru fiecare mașină este un număr întreg pozitiv

Exemplu 1

Intrare

5
100 150 120 130 110

Iesire

150 130 120 110 100


Rezolvare

<syntaxhighlight lang="python" line> def citeste_date():

   try:
       n = int(input("Introduceți numărul de mașini (n): "))
       ture = list(map(int, input("Introduceți numărul de ture completate de fiecare mașină, separate prin spațiu: ").split()))
       return n, ture
   except ValueError:
       return None, None

def valideaza_date(n, ture):

   if not (1 <= n <= 1000):
       return False
   if len(ture) != n:
       return False
   if not all(isinstance(tura, int) and tura > 0 for tura in ture):
       return False
   return True

def sorteaza_ture_descrescator(n, ture):

   ture.sort(reverse=True)
   return ture

def main():

   n, ture = citeste_date()
   
   if n is None or ture is None or not valideaza_date(n, ture):
       print("Datele de intrare nu corespund restricțiilor impuse.")
       return
   
   print("Datele de intrare corespund restricțiilor impuse.")
   ture_sortate = sorteaza_ture_descrescator(n, ture)
   print(" ".join(map(str, ture_sortate)))

if __name__ == "__main__":

   main()

</syntaxhighlight>