4277 - Upper Lower

From Bitnami MediaWiki

Cerință[edit | edit source]

Scrieți funcția cu următorul antet: UpperLower(a, U, L)

Funcția primește ca parametri trei șiruri de caractere a, U și L. Șirul U trebuie să memoreze caracterele din a, dar în care literele mici au fost convertite la majuscule, iar șirul L trebuie să memoreze caracterele din a, dar în care literele mari au fost convertite la litere mici.

Date de intrare[edit | edit source]

Se citește de la tastatură un șir de caractere.

Date de ieșire[edit | edit source]

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." Șirul U memorează caracterele din a, dar în care literele mici au fost convertite la majuscule, iar șirul L memorează caracterele din a, dar în care literele mari au fost convertite la litere mici. Va fi afișat U și L. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții de precizări[edit | edit source]

  • Șirul a poate conține și alte caractere în afară de litere, dar acestea rămân nemodificate.
  • Indexarea șirurilor începe de la 0

Exemplu[edit | edit source]

Exemplul 1[edit | edit source]

Intrare
I Am a Sith Lord
Ieșire
I AM A SITH LORD
i am a sith lord

Rezolvare[edit | edit source]

Rezolvare var. 1[edit | edit source]

<syntaxhighlight lang="python" line="1" start="1"> def validare(a, U, L):

   return a.isalpha() and U.isalpha() and L.isalpha()

def UpperLower(a, U, L):

   # Această funcție primește un string 'a' ca intrare și două stringuri goale 'U' și 'L' pentru a stoca caracterele majuscule și minuscule
   for c in a:
       if c.islower():
      # Dacă caracterul este literă mică, adaugă varianta sa majusculă în 'U' și caracterul original în 'L'
           U += c.upper()
           L += c
       elif c.isupper():
      # Dacă caracterul este literă mare, adaugă caracterul în 'U' și varianta sa minuscule în 'L'
           U += c
           L += c.lower()
       else:
           # Dacă caracterul nu este nici literă mare, nici literă mică (de exemplu, cifre, semne de punctuație etc.), adaugă-l atât în 'U', cât și în 'L'
           U += c
           L += c
   # Returnează stringurile rezultate pentru literele majuscule și minuscule
   return U, L


if __name__ == "__main__":

   # Obține input de la utilizator și elimină spațiile albe de la început și sfârșit
   a = input().strip()
   U = ""
   L = ""
   # Apelează funcția UpperLower cu stringul de intrare 'a' și cu stringurile goale 'U' și 'L'
   U, L = UpperLower(a, U, L)
   # Afișează stringurile rezultate pentru literele majuscule și minuscule
   print("U:", U)
   print("L:", L)
   if validare(a, L ,U):
       print("Datele introduse corespund restricțiilor impuse.")
       UpperLower(a, U, L)
   else:
       print("Datele introduse nu corespund restricțiilor impuse.")


</syntaxhighlight>