0232 - Eliminare Numere

From Bitnami MediaWiki

Cerinţa

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

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

Date de ieșire

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

Exemplul 1

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 


Exemplu 2

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


Rezolvare

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