0084 - Interschimbare Litere: Difference between revisions
Adina Timiș (talk | contribs) Ștergerea conținutului paginii Tags: Blanking Visual edit |
Adina Timiș (talk | contribs) No edit summary Tags: Manual revert Visual edit |
||
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=""> | |||
#0084 - Interschimbare Litere | |||
def interschimbare_vocale_si_consoane(cuvant): | |||
vocale = "aeiouAEIOU" | |||
consoane = "bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ" | |||
pozitie_vocala = -1 | |||
pozitie_consoana = -1 | |||
for i, litera in enumerate(cuvant): | |||
if litera in vocale and pozitie_vocala == -1: | |||
pozitie_vocala = i | |||
if litera in consoane: | |||
pozitie_consoana = i | |||
if pozitie_vocala == -1 or pozitie_consoana == -1: | |||
return "IMPOSIBIL" | |||
return cuvant[:pozitie_vocala] + cuvant[pozitie_consoana] + cuvant[pozitie_vocala + 1:pozitie_consoana] + cuvant[pozitie_vocala] + cuvant[pozitie_consoana + 1:] | |||
if __name__ == '__main__': | |||
cuvant = input("Introduceți cuvântul: ") | |||
cuvant_nou = interschimbare_vocale_si_consoane(cuvant) | |||
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> |
Revision as of 18:08, 25 March 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="">
- 0084 - Interschimbare Litere
def interschimbare_vocale_si_consoane(cuvant):
vocale = "aeiouAEIOU" consoane = "bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ" pozitie_vocala = -1 pozitie_consoana = -1 for i, litera in enumerate(cuvant): if litera in vocale and pozitie_vocala == -1: pozitie_vocala = i if litera in consoane: pozitie_consoana = i if pozitie_vocala == -1 or pozitie_consoana == -1: return "IMPOSIBIL" return cuvant[:pozitie_vocala] + cuvant[pozitie_consoana] + cuvant[pozitie_vocala + 1:pozitie_consoana] + cuvant[pozitie_vocala] + cuvant[pozitie_consoana + 1:]
if __name__ == '__main__':
cuvant = input("Introduceți cuvântul: ") cuvant_nou = interschimbare_vocale_si_consoane(cuvant) 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>