0799 - Eliminare Litera: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: == Cerinţa == Să se scrie un program care citește un șir de caractere în care cuvintele sunt formate numai din litere mici ale alfabetului englez și sunt separate prin câte un spațiu și elimină litera din mijloc a fiecărui cuvânt cu număr impar de litere (cel puțin trei). == Date de intrare == Programul citește de la tastatură un șir de cel mult '''100''' caractere == Date de ieșire == Programul afișează pe ecran textul obţinut, iar dacă nu există niciu...
 
Line 12: Line 12:
  picura prin acea arta o pace profunda
  picura prin acea arta o pace profunda
<br>
<br>
== Exemplu 2 ==
== Exemplul 2 ==
; Intrare
; Intrare
  Loremipsumdolorsitamet,consecteturadipiscingelit.Vestibulumeuismodnequeeumetusrhoncus,neciaculispurussollicitudin.Quisquecondimentum,lacusidsuscipitvestibulum,odiosemegestasnunc,velaliquetpuruseratnecelit.
  Loremipsumdolorsitamet,consecteturadipiscingelit.Vestibulumeuismodnequeeumetusrhoncus,neciaculispurussollicitudin.Quisquecondimentum,lacusidsuscipitvestibulum,odiosemegestasnunc,velaliquetpuruseratnecelit.
Line 19: Line 19:
  Datele de intrare nu corespund restrictiilor impuse
  Datele de intrare nu corespund restrictiilor impuse
<br>
<br>
== Rezolvare ==
== Rezolvare ==
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>

Revision as of 18:21, 25 December 2023

Cerinţa

Să se scrie un program care citește un șir de caractere în care cuvintele sunt formate numai din litere mici ale alfabetului englez și sunt separate prin câte un spațiu și elimină litera din mijloc a fiecărui cuvânt cu număr impar de litere (cel puțin trei).

Date de intrare

Programul citește de la tastatură un șir de cel mult 100 caractere

Date de ieșire

Programul afișează pe ecran textul obţinut, iar dacă nu există niciun cuvânt modificat, afișează pe ecran mesajul nu exista.

Exemplu 1

Intrare
pictura prin aceea arata o pace profunda
Iesire
Datele de intrare corespund restrictiilor impuse
picura prin acea arta o pace profunda


Exemplul 2

Intrare
Loremipsumdolorsitamet,consecteturadipiscingelit.Vestibulumeuismodnequeeumetusrhoncus,neciaculispurussollicitudin.Quisquecondimentum,lacusidsuscipitvestibulum,odiosemegestasnunc,velaliquetpuruseratnecelit.
Iesire
Datele de intrare nu corespund restrictiilor impuse


Rezolvare

<syntaxhighlight lang="python" line> def main():

   # Citirea șirului de la tastatură
   sir = input().strip()
   # Verifică dacă șirul respectă restricțiile
   if len(sir) > 100 or not all(c.islower() or c.isspace() for c in sir):
       print("Datele de intrare nu corespund restrictiilor impuse")
       return
   print("Datele de intrare corespund restrictiilor impuse")
   # Separarea șirului în cuvinte
   cuvinte = sir.split()
   # Crearea unei liste pentru a stoca cuvintele modificate
   cuvinte_modificate = []
   # Parcurgerea cuvintelor și eliminarea literei din mijloc a fiecărui cuvânt cu număr impar de litere
   for cuvant in cuvinte:
       if len(cuvant) % 2 == 1 and len(cuvant) >= 3:
           mijloc = len(cuvant) // 2
           cuvant_nou = cuvant[:mijloc] + cuvant[mijloc + 1:]
           cuvinte_modificate.append(cuvant_nou)
       else:
           cuvinte_modificate.append(cuvant)
   # Verificarea dacă există cuvinte modificate
   if cuvinte_modificate == cuvinte:
       print("nu exista")
   else:
       print(" ".join(cuvinte_modificate))


if __name__ == "__main__":

   main()

</syntaxhighlight>