2797 - Cuvinte 9
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
<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>