Topic: stop inserimento numeri con invio  (Letto 53 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline DRN

  • python unicellularis
  • *
  • Post: 7
  • Punti reputazione: 0
    • Mostra profilo
stop inserimento numeri con invio
« il: Aprile 30, 2021, 22:01 »
Ciao a tutti ,è da poco che studio python e ho una domanda per voi, faccio un esempio:

lista=[]
n=int(input("Quanti numeri nella lista? "))
for i in range(n):
    num=int(input("Quale numero vuoi inserire nella lista? "))
    lista.append(num)
print(lista)


Mi piacerebbe tanto sapere come faccio a terminare l'inserimento dei dati con un semplice invio "a vuoto" senza dover impostare quanti numeri voglio nella lista.
So che al punto in cui sono è una finezza ma sono curioso, grazie.

Offline nuzzopippo

  • python neanderthalensis
  • ****
  • Post: 388
  • Punti reputazione: 0
    • Mostra profilo
Re:stop inserimento numeri con invio
« Risposta #1 il: Maggio 01, 2021, 06:44 »
Per il "problema" posto è opportuno utilizzare un ciclo while, esempio
Python 3.8.5 (default, Jan 27 2021, 15:41:15) 
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license()" for more information.
>>> lista = []
>>> num = '0'
>>> while num:
num = input('Quale numero vuoi inserire nella lista? ')
try:
if num: lista.append(int(num))
except ValueError:
print('numero non valido!')


Quale numero vuoi inserire nella lista? 1
Quale numero vuoi inserire nella lista? 2
Quale numero vuoi inserire nella lista? 3
Quale numero vuoi inserire nella lista? a
numero non valido!
Quale numero vuoi inserire nella lista? 4
Quale numero vuoi inserire nella lista? 5
Quale numero vuoi inserire nella lista?
>>> print(lista)
[1, 2, 3, 4, 5]
>>>

Offline DRN

  • python unicellularis
  • *
  • Post: 7
  • Punti reputazione: 0
    • Mostra profilo
Re:stop inserimento numeri con invio
« Risposta #2 il: Maggio 01, 2021, 13:46 »
grazie della risposta.
Ma qual'è la condizione nel while?
Quando num è vera o falsa? Penso che sia vera quando è ='0'
Non riesco a capire
« Ultima modifica: Maggio 01, 2021, 14:08 da DRN »

Offline nuzzopippo

  • python neanderthalensis
  • ****
  • Post: 388
  • Punti reputazione: 0
    • Mostra profilo
Re:stop inserimento numeri con invio
« Risposta #3 il: Maggio 01, 2021, 18:35 »
Ma qual'è la condizione nel while?
Quando num è vera o falsa? Penso che sia vera quando è ='0'

la condizione :
while num:


In python le comparazioni booleane considerano varie opzioni, come puoi leggere dalla docs in link, lo "zero" numerico è solo uno dei possibili "False", un altro sono le sequenze vuote, nel caso in specie una stringa vuota ('') è False, perciò non inserendo niente viene interrotto il ciclo while.