0232 - Eliminare Numere
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>