0084 - Interschimbare Litere: Difference between revisions

From Bitnami MediaWiki
Ștergerea conținutului paginii
Tags: Blanking Visual edit
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:


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

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>