0084 - Interschimbare Litere: Difference between revisions
Adina Timiș (talk | contribs) No edit summary Tags: Manual revert Visual edit |
Adina Timiș (talk | contribs) No edit summary |
||
Line 23: | Line 23: | ||
:IMPOSIBIL | :IMPOSIBIL | ||
==Rezolvare== | ==Rezolvare== | ||
<syntaxhighlight lang="python" line=""> | <syntaxhighlight lang="python" line="1"> | ||
#0084 - Interschimbare Litere | #0084 - Interschimbare Litere | ||
def interschimbare_vocale_si_consoane(cuvant): | def interschimbare_vocale_si_consoane(cuvant): | ||
# definim lista de vocale și de consoane | |||
vocale = "aeiouAEIOU" | vocale = "aeiouAEIOU" | ||
consoane = "bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ" | consoane = "bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ" | ||
# inițializăm pozițiile vocalei și consoanei cu -1 | |||
pozitie_vocala = -1 | pozitie_vocala = -1 | ||
pozitie_consoana = -1 | pozitie_consoana = -1 | ||
# parcurgem cuântul și găsim prima apariție a vocalei și consoanei | |||
for i, litera in enumerate(cuvant): | for i, litera in enumerate(cuvant): | ||
if litera in vocale and pozitie_vocala == -1: | if litera in vocale and pozitie_vocala == -1: | ||
Line 35: | Line 40: | ||
if litera in consoane: | if litera in consoane: | ||
pozitie_consoana = i | 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: | if pozitie_vocala == -1 or pozitie_consoana == -1: | ||
return "IMPOSIBIL" | 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__': | if __name__ == '__main__': | ||
# citim cuvântul de la tastatură | |||
cuvant = input("Introduceți cuvântul: ") | cuvant = input("Introduceți cuvântul: ") | ||
# apelăm funcția interschimbare_vocale_si_consoane | |||
cuvant_nou = interschimbare_vocale_si_consoane(cuvant) | cuvant_nou = interschimbare_vocale_si_consoane(cuvant) | ||
# verificăm rezultatul și afișăm mesajele corespunzătoare | |||
if cuvant_nou == "IMPOSIBIL": | if cuvant_nou == "IMPOSIBIL": | ||
print("Datele de intrare nu corespund restricțiilor impuse.") | print("Datele de intrare nu corespund restricțiilor impuse.") |
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>