2606 - Luni Rămase

De la Universitas MediaWiki

Cerință

Se citește de la tastatură un număr natural ce reprezintă o lună a anului (dacă citim 3 ne referim la a treia lună, deci Martie). Programul va afișa (câte unul pe rând) numele lunilor rămase în acel an după cea citită. Se garantează că se introduce de la intrare o valoare cuprinsă între 1 și 11.

Date de intrare

Programul citește de la tastatură un număr l.

Date de ieșire

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran câte una pe rând, cu inițială mare, lunile rămase după cea cu numărul citit.În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții și precizări

  • 1 ≤ l ≤ 11

Exemplul 1

Intrare
9
Ieșire
Datele de intrare corespund restricțiilor impuse.
Octombrie
Noiembrie
Decembrie

Rezolvare

Rezolvare ver. 1

def validare(l):
    if 1 <= l <= 11:
        return True
    return False


def luni_ramase(l):
    if l == 1:
        print("Februarie\nMartie\nAprilie\nMai\nIunie\nIulie\nAugust\nSeptembrie\nOctombrie\nNoiembrie\nDecembrie")
    elif l == 2:
        print("Martie\nAprilie\nMai\nIunie\nIulie\nAugust\nSeptembrie\nOctombrie\nNoiembrie\nDecembrie")
    elif l == 3:
        print("Aprilie\nMai\nIunie\nIulie\nAugust\nSeptembrie\nOctombrie\nNoiembrie\nDecembrie")
    elif l == 4:
        print("Mai\nIunie\nIulie\nAugust\nSeptembrie\nOctombrie\nNoiembrie\nDecembrie")
    elif l == 5:
        print("Iunie\nIulie\nAugust\nSeptembrie\nOctombrie\nNoiembrie\nDecembrie")
    elif l == 6:
        print("Iulie\nAugust\nSeptembrie\nOctombrie\nNoiembrie\nDecembrie")
    elif l == 7:
        print("August\nSeptembrie\nOctombrie\nNoiembrie\nDecembrie")
    elif l == 8:
        print("Septembrie\nOctombrie\nNoiembrie\nDecembrie")
    elif l == 9:
        print("Octombrie\nNoiembrie\nDecembrie")
    elif l == 10:
        print("Noiembrie\nDecembrie")
    elif l == 11:
        print("Decembrie")


if __name__ == "__main__":
    l = int(input())
    if validare(l):
        print("Datele de intrare corespund restricțiilor impuse.")
        luni_ramase(l)
    else:
        print("Datele de intrare nu corespund restricțiilor impuse.")

Explicatie

Acest cod este o implementare a unei funcții care primește o valoare întreagă l și determină luna sau lunile rămase într-un an, începând cu luna dată de l.

Funcția validare(l) verifică dacă l se află în intervalul [1, 11] și returnează True dacă da și False în caz contrar.

Funcția luni_ramase(l) afișează luna sau lunile rămase în anul curent, începând cu luna dată de l. Fiecare condiție elif verifică luna curentă și afișează luna sau lunile rămase. De exemplu, dacă l este 5, atunci afișează lunile de la iunie până în decembrie.

În if __name__ == "__main__":, utilizatorul introduce valoarea întreagă l prin intermediul funcției input(). Dacă valoarea introdusă este validă, se afișează "Datele de intrare corespund restricțiilor impuse." și apoi funcția luni_ramase(l) este apelată pentru a afișa luna sau lunile rămase. În caz contrar, se afișează "Datele de intrare nu corespund restricțiilor impuse."