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

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

  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>