4277 - Upper Lower: Difference between revisions
Vardai Erwin (talk | contribs) |
Vardai Erwin (talk | contribs) |
||
(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>