4277 - Upper Lower: Difference between revisions
Pagină nouă: == Cerință == Scrieți funcția cu următorul antet: void UpperLower(const char a[], char U[], char 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. == Restricții de precizări == == Exemplul 1== *Șirul a poate conține și al... |
Vardai Erwin (talk | contribs) |
||
(10 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== Cerință == | == Cerință == | ||
Scrieți funcția cu următorul antet: | 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. | 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== | |||
Se citește de la tastatură un șir de caractere. | |||
==Date de ieșire== | |||
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 == | == Restricții de precizări == | ||
*Șirul a poate conține și alte caractere în afară de litere, dar acestea rămân nemodificate. | *Șirul a poate conține și alte caractere în afară de litere, dar acestea rămân nemodificate. | ||
*Indexarea șirurilor începe de la 0 | *Indexarea șirurilor începe de la 0 | ||
==Exemplu== | |||
=== Exemplul 1=== | |||
; Intrare | ; Intrare | ||
: I Am a Sith Lord | : I Am a Sith Lord | ||
; Ieșire | ; Ieșire | ||
: I AM A SITH LORD | : I AM A SITH LORD | ||
: i am a sith lord. | : i am a sith lord | ||
==Rezolvare== | |||
=== Rezolvare var. 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): | |||
# 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> |
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>