programma con condizioni logiche e di confronto

Qui vengono spostati discussioni e messaggi ritenuti inadeguati per il contenuto o la forma con cui sono stati espressi.
Scrivi risposta
korda
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1807
Iscrizione: giovedì 24 dicembre 2020, 15:58

Re: programma con condizioni logiche e di confronto

Messaggio da korda »

vaeVictis ha scritto:
martedì 22 marzo 2022, 15:31
il post è del 3017
Un necroposting ...nel futuro! Grande Giove!


Scherzi a parte: non si potrebbe fissare un blocco temporale per evitarlo?
Io non sono Bagheera né Akela, io non frequento la Rupe.
Io sono Kaa: faccio ballare le scimmie alle Tane Fredde.
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: programma con condizioni logiche e di confronto

Messaggio da vaeVictis »

korda ha scritto:
martedì 22 marzo 2022, 16:58
vaeVictis ha scritto:
martedì 22 marzo 2022, 15:31
il post è del 3017
Un necroposting ...nel futuro! Grande Giove!


Scherzi a parte: non si potrebbe fissare un blocco temporale per evitarlo?
LOL.
Ho scritto dal cellulare 😂
Io ho segnalato. Le segnalazione è stata chiusa. Quindi presumo non sia un problema.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4457
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: programma con condizioni logiche e di confronto

Messaggio da UbuNuovo »

vaeVictis ha scritto:
martedì 22 marzo 2022, 15:31
...
La procedura corretta è questa


A parte il necroposting ma, Vae, hai sbagliato link?
questa non può funzionare per valori superiori a 400

Codice: Seleziona tutto

if largh < 401:
    fori(3)
elif largh < 601:
  fori(4)
elif largh < 1001:
  fori(5)
elif largh < 1501:
  fori(6)
else:
  raise InvalidValueError
al momento che una condizione viene verificata, non vengono eseguite quelle successive; non c'è sovrascrittura della variabile (che sarebbe comunque da evitare).
Si devono usare i vari range, ricordiamoci che esistono anche gli operatori <= e >=

delirio
Ultima modifica di UbuNuovo il mercoledì 23 marzo 2022, 1:46, modificato 1 volta in totale.
Salva l'Ucraina! 🇺🇦
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: programma con condizioni logiche e di confronto

Messaggio da vaeVictis »

UbuNuovo ha scritto:
mercoledì 23 marzo 2022, 0:25
al momento che una condizione viene verificata, non vengono eseguite quelle successive
Se il preceden controllo va bene, bene.
Se fallisce, al successivo elif non devi ricontrollare la condizione precedente sul minimo. Già lo sai che non è andata.
A prescindere dal fatto che l'op magari non è più interessato, le condizioni sono queste

Codice: Seleziona tutto

if largh <= 400:
    fori(3)
elif largh <= 600:
  fori(4)
elif largh <= 1000:
  fori(5)
elif largh <= 1500:
  fori(6)
else:
  raise InvalidValueError
Mettiamo che largh è 1234. Il primo controllo fallisce, al secondo non devi ricontrollare che non sia minore di 400, già lo sai. Al terzo controllo non devi ricontrollare che non sia minore di 1000, già lo sai. E così via.
No?
Ultima modifica di vaeVictis il mercoledì 23 marzo 2022, 0:38, modificato 1 volta in totale.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4457
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: programma con condizioni logiche e di confronto

Messaggio da UbuNuovo »

Non cambiare le carte in tavola!
Ora hai messo <= non solo < :D

delirio
Ultima modifica di UbuNuovo il mercoledì 23 marzo 2022, 1:46, modificato 1 volta in totale.
Salva l'Ucraina! 🇺🇦
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: programma con condizioni logiche e di confronto

Messaggio da vaeVictis »

Non sto cambiando le carte in tavola. Era abbastanza chiaro il senso.
... È ricorsivo... It you know what I mean 😁❤️
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4457
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: programma con condizioni logiche e di confronto

Messaggio da UbuNuovo »

Hai detto che questo codice è corretto!

Codice: Seleziona tutto

if largh < 401:
    fori(3)
elif largh < 601:
  fori(4)
elif largh < 1001:
  fori(5)
elif largh < 1501:
  fori(6)
else:
  raise InvalidValueError
questo è con solo minore non minore o uguale
delirio
Ultima modifica di UbuNuovo il mercoledì 23 marzo 2022, 1:47, modificato 1 volta in totale.
Salva l'Ucraina! 🇺🇦
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: programma con condizioni logiche e di confronto

Messaggio da vaeVictis »

Te lo riscrivo, così magari è più chiaro e ti rassereni :o
Quello a cui mi riferivo erano le verifiche prima dell'AND negli elif succesivi al primo. Non servono a una benamata se non a rallentare l'esecuzione.
Se la condizione precedente non è soddisfatta, non ricontrolli che non sia soddisfatta anche in quella successiva*. Che sia minore o minore o uguale non importa.
Quel codice è logicamente corretto.

Edit:
*) Se una condizione non è soddisfatta in un if, non c'è bisogno di controllare, nell'if successivo, che la sua negazione sia soddisfatta.
Ultima modifica di vaeVictis il mercoledì 23 marzo 2022, 10:21, modificato 2 volte in totale.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4457
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: programma con condizioni logiche e di confronto

Messaggio da UbuNuovo »

Sono serenissimo, ma non volevo che passasse un codice sbagliato come giusto.
L'avevo già detto anch'io:
...
ricordiamoci che esistono anche gli operatori <= e >=

il codice che hai linkato è sbagliato! Il codice che hai scritto te è corretto!
Spero di essermi spiegato.

delirio
Ultima modifica di UbuNuovo il mercoledì 23 marzo 2022, 1:48, modificato 1 volta in totale.
Salva l'Ucraina! 🇺🇦
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: programma con condizioni logiche e di confronto

Messaggio da vaeVictis »

*tu :D
vaeVictis ha scritto:
martedì 22 marzo 2022, 15:31
in tutti gli if successivi al primo, ricontrollare che "largh" sia maggiore della prima soglia è ridondante e inutile.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4457
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

programma con condizioni logiche e di confronto

Messaggio da UbuNuovo »

Mi si è ribaltato il cervello!
Maggiore<-> minore :cry:
Salva l'Ucraina! 🇺🇦
Avatar utente
tokijin
Moderatore Globale
Moderatore Globale
Messaggi: 4618
Iscrizione: mercoledì 3 giugno 2009, 23:10
Desktop: plasma 5.27.4
Distribuzione: Kubuntu 23.04
Località: Abruzzo

Re: programma con condizioni logiche e di confronto

Messaggio da tokijin »

Tra video off-topic di ritorno al futuro, messaggi cancellati e risposte a messaggi cancellati, ho spostato in quarantena.

Ciao
Sei abbruzzese se dopo che ti sei strafogato un chilogrammo di pasta, hai il coraggio di dire alla cuoca "cacc ch'è cott" - Se entra un piccione in casa..chiudi le finestre!
Ubuntu User #28657 - Il mio vecchio hardware - Tag Codice
Scrivi risposta

Ritorna a “Quarantena”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 1 ospite