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:
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())