0084 - Interschimbare Litere
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>