Informatică, întrebare adresată de afjhfwrjwjfkw, 8 ani în urmă

Citiți o listă de la tastatură care reține numere reale, până este întâlnită cifra 0. Afișați "un raport" care să conțină: numărul de elemente, câte sunt pozitive, câte sunt negative și suma elementelor! Python

Răspunsuri la întrebare

Răspuns de Apollyon
1

Răspuns:

def creeaza_lista():

  # listă goală

   lista = []

   # while-ul rulează până când introducem 0 de la tastatură

   while True:

       # citim numărul și-l convertim la float (deoarece avem nevoie de numere reale)

       element_citit = float(input('Introdu numarul real sau 0 pentru a iesi din while >> '))

       # dacă introducem 0 returnăm lista cu elementele citite anterior

       if element_citit == 0:

           return lista

       # dacă numărul nostru este diferit de 0 îl adăugăm în listă

       lista.append(element_citit)

def afisare_raport(lista):

   contor_nr_pozitive, contor_nr_negative, suma_numere = 0, 0, 0

   # parcurgem lista

   for nr in lista:

       # dacă numărul este pozitiv incrementăm contorul pentru numere pozitive

       if nr >= 0:

           contor_nr_pozitive += 1

       # dacă este negativ incrementăm contorul pentru numere negative

       else:

           contor_nr_negative += 1

       # și adăugăm la sumă numărul curent

       suma_numere += nr

   # la final afișăm raportul

   print(f'Numarul de elemente din lista este {len(lista)}\nSunt {contor_nr_negative} numere negative si '

         f'{contor_nr_pozitive} numere pozitive iar suma numerelor este {suma_numere}')

if __name__ == '__main__':

   afisare_raport(creeaza_lista())

Alte întrebări interesante