2797 - Cuvinte 9

From Bitnami MediaWiki

Cerinţa[edit | edit source]

Un text are cel mult 100 de caractere și este format din cuvinte, numere naturale și spații. Cuvintele sunt formate numai din litere mici ale alfabetului englez. Cuvintele și numerele sunt separate prin câte un spaţiu.

Scrieţi un program care citește de la tastatură un text de tipul menţionat mai sus și afișează pe ecran numărul din text care începe cu cea mai mare cifră. Dacă există mai multe astfel de numere, se afișează doar unul dintre acestea, iar dacă textul nu conține niciun număr, se afișează pe ecran mesajul nu exista. Date de intrare

Date de intrare[edit | edit source]

Programul citește de la tastatură un text de tipul menționat mai sus.

Date de ieșire[edit | edit source]

Programul va afișa pe ecran numărul din text care începe cu cea mai mare cifră sau mesajul nu exista, dacă textul nu conține niciun număr.

Exemplu 1[edit | edit source]

Intrare
am 190 de nuci si 70 de castane
Iesire
Datele de intrare corespund restrictiilor impuse
70


Exemplu 2[edit | edit source]

Intrare
acestaesteuncuvantfoartelung carecontine1234
Iesire
Datele de intrare nu corespund restrictiilor impuse


Rezolvare[edit | edit source]

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

   # Citirea textului de la tastatură
   text = input().strip()
   # Verifică dacă textul respectă restricțiile
   if len(text) > 100:
       print("Datele de intrare nu corespund restrictiilor impuse")
       return
   if any(not cuvant.isalpha() and not cuvant.isdigit() for cuvant in text.split()):
       print("Datele de intrare nu corespund restrictiilor impuse")
       return
   if any(len(cuvant) > 10 for cuvant in text.split()):
       print("Datele de intrare nu corespund restrictiilor impuse")
       return
   print("Datele de intrare corespund restrictiilor impuse")
   # Obținerea listei de numere
   numere = [int(cuvant) for cuvant in text.split() if cuvant.isdigit()]
   # Verifică dacă există numere în text și afișează rezultatul
   if numere:
       print(max(numere, key=lambda numar: int(str(numar)[0])))
   else:
       print("nu exista")


if __name__ == "__main__":

   main()

</syntaxhighlight>