0087 - Lungime Maxima: Difference between revisions
Andrada378 (talk | contribs) Pagină nouă: '''''Cerinţa''''' Să se scrie un program care citește mai multe propoziții și determină propoziția de lungime maximă. '''''Date de intrare''''' 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''''' Fișierul de ieșire lgmax.out va conține pe prima linie propoziția de lungime maximă. '''''Restricţii şi pre... |
Andrada378 (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
== Cerinţa == | |||
Să se scrie un program care citește mai multe propoziții și determină propoziția de lungime maximă. | Să se scrie un program care citește mai multe propoziții și determină propoziția de lungime maximă. | ||
== Date de intrare == | |||
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. | 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 == | |||
Fișierul de ieșire lgmax.out va conține pe prima linie propoziția de lungime maximă. | Fișierul de ieșire lgmax.out va conține pe prima linie propoziția de lungime maximă. | ||
== Restricţii şi precizări == | |||
0<n<100 | * 0<n<100 | ||
* fiecare propoziție va conține cel mult 255 de caractere | |||
== Exemplu: == | |||
'''lgmaxin.txt''' | |||
''''' | |||
4 | 4 | ||
Line 31: | Line 26: | ||
noapte buna | noapte buna | ||
'''lgmaxout.txt''' | |||
pe la cuiburi se aduna | pe la cuiburi se aduna | ||
== Rezolvare == | |||
# Deschide fișierul de intrare pentru citire | <syntaxhighlight lang="python"> | ||
with open('lgmaxin.txt', 'r') as input_file: | 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> | </syntaxhighlight> |
Latest revision as of 21:07, 3 January 2024
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>