|
|
Line 1: |
Line 1: |
| == 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<br>
| |
| 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>
| |