Domanda Dubbi su un banale programma

Stato
Discussione chiusa ad ulteriori risposte.

CaneLupo

Utente Silver
12 Ottobre 2013
124
12
20
73
Salve, sono all'inizio nell'imparare il linguaggio di programmazione Python e mi sono imbattuto in un esercizio che chiedeva :
Progettare un algoritmo che, dati due valori numerici h e k, legga n valori e conti quanti di essi sono compresi tra h e k scrivendo il risultato. Ora, io l'algoritmo l'ho fatto cosi:
START
Leggi H
Leggi K
rettangolo: C=0
Leggi n
-
Leggi numero
n=n-1
Rombo= n>0 Si: Stampa c ---> End
No: Rombo: numero >H and numero<k
Si: C=c+1 (e ritorna dove ho messo il trattino)
No: (ritorna dove ho messo il trattino)

Dopo aver fatto questo algoritmo volevo provare a trascriverlo in Python, ma non so come posizionare il while...mi potete dare una mano?
 
Ultima modifica:
Potresti mettere i valori da controllare in una lista, ed usare il while in modo che finché la lista non e vuota, lo script controlla se il valore e compreso tra h e k, se si lo stampa, altrimenti niente.


valori = [21,12,4,5]
while valori != []:
current = valori.pop()
if current < k and current > h:
print("Il numero %s è contenuto fra %s e %s." % (current, k, h))
else:
pass


(sto da Tapatalk, non mi indenta il codice :( )
 
Potresti mettere i valori da controllare in una lista, ed usare il while in modo che finché la lista non e vuota, lo script controlla se il valore e compreso tra h e k, se si lo stampa, altrimenti niente.


valori = [21,12,4,5]
while valori != []:
current = valori.pop()
if current < k and current > h:
print("Il numero %s è contenuto fra %s e %s." % (current, k, h))
else:
pass


(sto da Tapatalk, non mi indenta il codice :( )

Grazie della risposta, volevo sapere cosa voleva dire current= valori.pop() e
quando nella istruzione else hai scritto "pass" :eek:
 
Allora il metodo pop() non fa altro che rimuovere un elemento di una lista partendo dalla fine della lista stessa, quindi tu non fai altro che archiviare nella variabile current l'elemento rimosso dalla lista finché la lista non é vuota, in questo modo puoi controllare solamente una volta i valori nella lista.

Il pass non so come spiegartelo, diciamo che i blocchi in Python non possono essere completamente vuoti quindi se voglio che non ci sia niente dentro, uso pass (help [MENTION=212484]Berserkr[/MENTION])
 
Si può dire che pass dice all'interprete python: "Non dare nessun errore, qui non c'è nulla e non voglio nulla, quindi vai avanti". Insomma, è una parola chiave che può essere utile quanto inutile.

Per esempio (stupido): crei due classi, in una sai cosa mettere mentre nell'altra devi aspettare l'evolversi della prima, però nel frattempo la crei e gli dai un nome. Ora, se testi il programma con la classe vuota, l'interprete ti da, ovviamente, l'errore e quindi ti blocca l'intero programma. Per ovviare a questa situazione, utilizzi il pass e cosi puoi testare l'altra classe senza problemi. Nulla di fondamentale importante, però può ritornare utile in determinati casi, magari non in quello del mio esempio, però era dare un'idea xD.
 
Si può dire che pass dice all'interprete python: "Non dare nessun errore, qui non c'è nulla e non voglio nulla, quindi vai avanti". Insomma, è una parola chiave che può essere utile quanto inutile.

Per esempio (stupido): crei due classi, in una sai cosa mettere mentre nell'altra devi aspettare l'evolversi della prima, però nel frattempo la crei e gli dai un nome. Ora, se testi il programma con la classe vuota, l'interprete ti da, ovviamente, l'errore e quindi ti blocca l'intero programma. Per ovviare a questa situazione, utilizzi il pass e cosi puoi testare l'altra classe senza problemi. Nulla di fondamentale importante, però può ritornare utile in determinati casi, magari non in quello del mio esempio, però era dare un'idea xD.
Grazie per l'aiuto ;)
 
Stato
Discussione chiusa ad ulteriori risposte.