2797 - Cuvinte 9

De la Universitas MediaWiki

Cerinţa

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

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

Date de ieșire

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

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


Exemplu 2

Intrare
acestaesteuncuvantfoartelung carecontine1234
Iesire
Datele de intrare nu corespund restrictiilor impuse


Rezolvare

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