0232 - Eliminare Numere

From Bitnami MediaWiki

Cerinţa[edit | edit source]

Să se scrie un program care citeşte de la tastatură un şir de cel mult 100 de caractere,format din cuvinte şi numere, separate prin unul sau mai multe spații. Cuvintele sunt formate numai din litere ale alfabetului englez. Toate numerele sunt reale, pozitive şi sunt formate numai din parte întreagă sau din parte întreagă şi parte fracționară, separate prin punctul zecimal (.).

Programul va elimina din şir toate numerele care au parte fracționară.

Date de intrare[edit | edit source]

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

Date de ieșire[edit | edit source]

Programul afişează pe ecran şirul obţinut prin eliminarea numerelor care au parte fracționară.

Exemplul 1[edit | edit source]

Intrare
Reprezentat  cu 4 zecimale PI este 3.1415 si e este 2.7182
Iesire
Datele de intrare corespund restrictiilor impuse
Reprezentat  cu 4 zecimale PI este  si e este 


Exemplul 2[edit | edit source]

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


Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line> import re


def main():

   # Citirea șirului de la tastatură
   sir = input().strip()
   # Verifică dacă șirul respectă restricțiile
   if len(sir) > 100:
       print("Datele de intrare nu corespund restrictiilor impuse")
       return
   print("Datele de intrare corespund restrictiilor impuse")
   # Crearea unui pattern regex pentru a găsi numerele cu parte fracționară
   pattern = r'\b\d+\.\d+\b'
   # Înlocuirea numerelor cu parte fracționară cu un șir gol
   sir_nou = re.sub(pattern, , sir)
   # Afișarea noului șir
   print(sir_nou)


if __name__ == "__main__":

   main()

</syntaxhighlight>