4277 - Upper Lower: Difference between revisions

From Bitnami MediaWiki
 
(2 intermediate revisions by one other user not shown)
Line 28: Line 28:
=== Rezolvare var. 1 ===
=== Rezolvare var. 1 ===
<syntaxhighlight lang="python" line="1" start="1">
<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):
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:
     for c in a:
         if c.islower():
         if c.islower():
      # Dacă caracterul este literă mică, adaugă varianta sa majusculă în 'U' și caracterul original în 'L'
             U += c.upper()
             U += c.upper()
             L += c
             L += c
         elif c.isupper():
         elif c.isupper():
      # Dacă caracterul este literă mare, adaugă caracterul în 'U' și varianta sa minuscule în 'L'
             U += c
             U += c
             L += c.lower()
             L += c.lower()
         else:
         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
             U += c
             L += c
             L += c
    # Returnează stringurile rezultate pentru literele majuscule și minuscule
     return U, L
     return U, L




if __name__ == "__main__":
if __name__ == "__main__":
    # Obține input de la utilizator și elimină spațiile albe de la început și sfârșit
     a = input().strip()
     a = input().strip()
     U = ""
     U = ""
     L = ""
     L = ""
    # Apelează funcția UpperLower cu stringul de intrare 'a' și cu stringurile goale 'U' și 'L'
     U, L = UpperLower(a, U, L)
     U, L = UpperLower(a, U, L)
    # Afișează stringurile rezultate pentru literele majuscule și minuscule
     print("U:", U)
     print("U:", U)
     print("L:", L)
     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>
</syntaxhighlight>

Latest revision as of 19:02, 25 April 2023

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>