0087 - Lungime Maxima
Cerinţa[edit | edit source]
Să se scrie un program care citește mai multe propoziții și determină propoziția de lungime maximă.
Date de intrare[edit | edit source]
Fișierul de intrare lgmax.in conține pe prima linie un număr natural n, iar pe următoarele n linii câte o propoziție alcătuită din litere ale alfabetului englez și spații.
Date de ieşire[edit | edit source]
Fișierul de ieșire lgmax.out va conține pe prima linie propoziția de lungime maximă.
Restricţii şi precizări[edit | edit source]
- 0<n<100
- fiecare propoziție va conține cel mult 255 de caractere
Exemplu:[edit | edit source]
lgmaxin.txt
4
somnoroase pasarele
pe la cuiburi se aduna
se ascund in ramurele
noapte buna
lgmaxout.txt
pe la cuiburi se aduna
Rezolvare[edit | edit source]
<syntaxhighlight lang="python"> def validare_n(valoare):
try: n = int(valoare) if 0 < n < 100: return True, n else: return False, None except ValueError: return False, None
def validare_propozitie(propozitie):
if len(propozitie) <= 255: return True else: return False
def main():
# Deschide fișierul de intrare pentru citire with open('lgmaxin.txt', 'r') as input_file: # Citește numărul de propoziții n_valoare = input_file.readline().strip() este_valid_n, n = validare_n(n_valoare)
if not este_valid_n: print("Eroare: Numărul de propoziții nu respectă condițiile.") return
# Inițializează o variabilă pentru propoziția de lungime maximă propozitie_maxima = ""
# Parcurge fiecare propoziție for _ in range(n): propozitie = input_file.readline().strip()
# Verifică dacă propoziția curentă are lungimea mai mare decât cea maximă if validare_propozitie(propozitie) and len(propozitie) > len(propozitie_maxima): propozitie_maxima = propozitie
# Deschide fișierul de ieșire pentru scriere with open('lgmaxout.txt', 'w') as output_file: # Scrie propoziția de lungime maximă în fișierul de ieșire output_file.write(propozitie_maxima)
if __name__ == "__main__":
main()
</syntaxhighlight>