0087 - Lungime Maxima: Difference between revisions

From Bitnami MediaWiki
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'''''
== 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'''''
== 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'''''
== 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'''''
== Restricţii şi precizări ==


0<n<100
* 0<n<100
* fiecare propoziție va conține cel mult 255 de caractere


fiecare propoziție va conține cel mult 255 de caractere
== Exemplu: ==
 
'''lgmaxin.txt'''
'''''Exemplu:'''''
 
lgmax.in


4
4
Line 31: Line 26:
noapte buna
noapte buna


lgmax.out
'''lgmaxout.txt'''


pe la cuiburi se aduna
pe la cuiburi se aduna


'''''Rezolvare'''''<syntaxhighlight lang="python">
== Rezolvare ==
# Deschide fișierul de intrare pentru citire
<syntaxhighlight lang="python">
with open('lgmaxin.txt', 'r') as input_file:
def validare_n(valoare):
    # Citește numărul de propoziții
    try:
    n = int(input_file.readline().strip())
        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 = ""


    # Inițializează o variabilă pentru propoziția de lungime maximă
        # Parcurge fiecare propoziție
    propozitie_maxima = ""
        for _ in range(n):
            propozitie = input_file.readline().strip()


    # Parcurge fiecare propoziție
            # Verifică dacă propoziția curentă are lungimea mai mare decât cea maximă
    for _ in range(n):
            if validare_propozitie(propozitie) and len(propozitie) > len(propozitie_maxima):
        propozitie = input_file.readline().strip()
                propozitie_maxima = propozitie


         # Verifică dacă propoziția curentă are lungimea mai mare decât cea maximă
    # Deschide fișierul de ieșire pentru scriere
         if len(propozitie) > len(propozitie_maxima):
    with open('lgmaxout.txt', 'w') as output_file:
            propozitie_maxima = propozitie
         # Scrie propoziția de lungime maximă în fișierul de ieșire
         output_file.write(propozitie_maxima)


# Deschide fișierul de ieșire pentru scriere
if __name__ == "__main__":
with open('lgmaxout.txt', 'w') as output_file:
     main()
     # Scrie propoziția de lungime maximă în fișierul de ieșire
    output_file.write(propozitie_maxima)
</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>