0084 - Interschimbare Litere

From Bitnami MediaWiki

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">

  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>