Pagina 1 di 1

Re: programma con condizioni logiche e di confronto

Inviato: martedì 22 marzo 2022, 16:58
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?

Re: programma con condizioni logiche e di confronto

Inviato: martedì 22 marzo 2022, 19:20
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.

Re: programma con condizioni logiche e di confronto

Inviato: mercoledì 23 marzo 2022, 0:25
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

Re: programma con condizioni logiche e di confronto

Inviato: mercoledì 23 marzo 2022, 0:30
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?

Re: programma con condizioni logiche e di confronto

Inviato: mercoledì 23 marzo 2022, 0:37
da UbuNuovo
Non cambiare le carte in tavola!
Ora hai messo <= non solo < :D

delirio

Re: programma con condizioni logiche e di confronto

Inviato: mercoledì 23 marzo 2022, 0:39
da vaeVictis
Non sto cambiando le carte in tavola. Era abbastanza chiaro il senso.
... È ricorsivo... It you know what I mean 😁❤️

Re: programma con condizioni logiche e di confronto

Inviato: mercoledì 23 marzo 2022, 0:43
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

Re: programma con condizioni logiche e di confronto

Inviato: mercoledì 23 marzo 2022, 0:49
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.

Re: programma con condizioni logiche e di confronto

Inviato: mercoledì 23 marzo 2022, 0:57
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

Re: programma con condizioni logiche e di confronto

Inviato: mercoledì 23 marzo 2022, 1:15
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.

programma con condizioni logiche e di confronto

Inviato: mercoledì 23 marzo 2022, 1:20
da UbuNuovo
Mi si è ribaltato il cervello!
Maggiore<-> minore :cry:

Re: programma con condizioni logiche e di confronto

Inviato: venerdì 1 aprile 2022, 10:52
da tokijin
Tra video off-topic di ritorno al futuro, messaggi cancellati e risposte a messaggi cancellati, ho spostato in quarantena.

Ciao