0084 - Interschimbare Litere: Difference between revisions
Adina Timiș (talk | contribs) Ștergerea conținutului paginii Tags: Blanking Visual edit |
Adina Timiș (talk | contribs) No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
==Cerința== | |||
Să se scrie un program care citește un cuvânt și îl afișează după interschimbarea primei vocale cu ultima consoană. | |||
==Date de intrare== | |||
Programul citeşte de la tastatură un şir de caractere, reprezentând un cuvânt. | |||
==Date de ieșire== | |||
Programul afişează pe ecran cuvântul obținut prin interschimbarea primei vocale cu ultima consoană. | |||
==Restricții și precizări== | |||
*şirul de caractere citit va conţine cel mult 10 caractere, litere mari și mici ale alfabetului englez; | |||
*se consideră vocale următoarele caractere: a e i o u A E I O U; | |||
*dacă cuvântul conține doar vocale sau doar consoane se va afișa IMPOSIBIL; | |||
==Exemplul 1== | |||
;Intrare | |||
:PrograM | |||
;Ieșire | |||
:PrMgrao | |||
:Datele de intrare corespund restricțiilor impuse. | |||
==Exemplul 2== | |||
;Intrare | |||
:aeiou | |||
;Ieșire | |||
:Datele de intrare nu corespund restricțiilor impuse. | |||
:IMPOSIBIL | |||
==Rezolvare== | |||
<syntaxhighlight lang="python" line="1"> | |||
#0084 - Interschimbare Litere | |||
def interschimbare_vocale_si_consoane(cuvant): | |||
# definim lista de vocale și de consoane | |||
vocale = "aeiouAEIOU" | |||
consoane = "bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ" | |||
# inițializăm pozițiile vocalei și consoanei cu -1 | |||
pozitie_vocala = -1 | |||
pozitie_consoana = -1 | |||
# parcurgem cuântul și găsim prima apariție a vocalei și consoanei | |||
for i, litera in enumerate(cuvant): | |||
if litera in vocale and pozitie_vocala == -1: | |||
pozitie_vocala = i | |||
if litera in consoane: | |||
pozitie_consoana = i | |||
# verificăm dacă am găsit atât o vocală cât și o consoană | |||
if pozitie_vocala == -1 or pozitie_consoana == -1: | |||
return "IMPOSIBIL" | |||
# realizăm interschimbarea | |||
cuvant_nou = cuvant[:pozitie_vocala] + cuvant[pozitie_consoana] + cuvant[pozitie_vocala + 1:pozitie_consoana] + cuvant[pozitie_vocala] + cuvant[pozitie_consoana + 1:] | |||
return cuvant_nou | |||
if __name__ == '__main__': | |||
# citim cuvântul de la tastatură | |||
cuvant = input("Introduceți cuvântul: ") | |||
# apelăm funcția interschimbare_vocale_si_consoane | |||
cuvant_nou = interschimbare_vocale_si_consoane(cuvant) | |||
# verificăm rezultatul și afișăm mesajele corespunzătoare | |||
if cuvant_nou == "IMPOSIBIL": | |||
print("Datele de intrare nu corespund restricțiilor impuse.") | |||
print(cuvant_nou) | |||
else: | |||
print("Datele de intrare corespund restricțiilor impuse.") | |||
print(cuvant_nou) | |||
</syntaxhighlight> |
Latest revision as of 10:13, 21 May 2023
Cerința[edit | edit source]
Să se scrie un program care citește un cuvânt și îl afișează după interschimbarea primei vocale cu ultima consoană.
Date de intrare[edit | edit source]
Programul citeşte de la tastatură un şir de caractere, reprezentând un cuvânt.
Date de ieșire[edit | edit source]
Programul afişează pe ecran cuvântul obținut prin interschimbarea primei vocale cu ultima consoană.
Restricții și precizări[edit | edit source]
- şirul de caractere citit va conţine cel mult 10 caractere, litere mari și mici ale alfabetului englez;
- se consideră vocale următoarele caractere: a e i o u A E I O U;
- dacă cuvântul conține doar vocale sau doar consoane se va afișa IMPOSIBIL;
Exemplul 1[edit | edit source]
- Intrare
- PrograM
- Ieșire
- PrMgrao
- Datele de intrare corespund restricțiilor impuse.
Exemplul 2[edit | edit source]
- Intrare
- aeiou
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
- IMPOSIBIL
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line="1">
- 0084 - Interschimbare Litere
def interschimbare_vocale_si_consoane(cuvant):
# definim lista de vocale și de consoane vocale = "aeiouAEIOU" consoane = "bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ"
# inițializăm pozițiile vocalei și consoanei cu -1 pozitie_vocala = -1 pozitie_consoana = -1
# parcurgem cuântul și găsim prima apariție a vocalei și consoanei for i, litera in enumerate(cuvant): if litera in vocale and pozitie_vocala == -1: pozitie_vocala = i if litera in consoane: pozitie_consoana = i
# verificăm dacă am găsit atât o vocală cât și o consoană if pozitie_vocala == -1 or pozitie_consoana == -1: return "IMPOSIBIL"
# realizăm interschimbarea cuvant_nou = cuvant[:pozitie_vocala] + cuvant[pozitie_consoana] + cuvant[pozitie_vocala + 1:pozitie_consoana] + cuvant[pozitie_vocala] + cuvant[pozitie_consoana + 1:] return cuvant_nou
if __name__ == '__main__':
# citim cuvântul de la tastatură cuvant = input("Introduceți cuvântul: ")
# apelăm funcția interschimbare_vocale_si_consoane cuvant_nou = interschimbare_vocale_si_consoane(cuvant)
# verificăm rezultatul și afișăm mesajele corespunzătoare if cuvant_nou == "IMPOSIBIL": print("Datele de intrare nu corespund restricțiilor impuse.") print(cuvant_nou) else: print("Datele de intrare corespund restricțiilor impuse.") print(cuvant_nou)
</syntaxhighlight>