0084 - Interschimbare Litere: Difference between revisions

From Bitnami MediaWiki
No edit summary
Tags: Manual revert Visual edit
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"
     return cuvant[:pozitie_vocala] + cuvant[pozitie_consoana] + cuvant[pozitie_vocala + 1:pozitie_consoana] + cuvant[pozitie_vocala] + cuvant[pozitie_consoana + 1:]
 
     # 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">

  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>