Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2014
    residenza
    Mantova
    Messaggi
    66

    [Python] L'ordine di Not And Or

    Mi sto trovando di fronte ad un esercizio su codecademy sull'ordine con il quale il linguaggio considera i comandi not, and, or, ma che io non ho proprio capito...

    Dunque il capitolo di questo esercizio mi dice che Python non prende in considerazione i comandi da sinistra verso destra, ma che la precedenza ce l'ha il not, poi and ed infine or.

    Ora come faccio a capire se "false or not true and true" è vero o falso?
    Il mio ragionamento è: not true è falso, and true e vero e false or....è falso?? Non ne ho la più pallida idea, e come li metto insieme tutti questi?

  2. #2
    Basta aggiungere parentesi attorno alle sottoespressioni secondo le regole di precedenza del linguaggio, esattamente come si fa in matematica (dove, ad esempio, l'ordine è potenze -> prodotti/divisioni -> somme/differenze).
    Per cui:
    false or not true and true
    Prima raggruppo le espressioni che coinvolgono il not:
    False or (not True) and True
    Poi quelle con and
    False or ((not True) and True)
    Infine quelle con l'or
    (False or ((not True) and True))
    A questo punto la soluzione è ovvia: parto a risolvere dalle parentesi più interne
    (False or (False and True))
    (False or False)
    False
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2014
    residenza
    Mantova
    Messaggi
    66
    Ora si che ho una spiegazione chiara e finalmente ho capito la questione.
    Grazie della spiegazione, sei stato molto gentile.

  4. #4


    (ma ricorda che, oltre alla priorità, gli operatori hanno anche un'associatività... in Python la cosa è visibile per l'operatore di elevamento a potenza; leggi qui: http://www.programiz.com/python-prog...-associativity)
    Ultima modifica di MItaly; 31-03-2015 a 22:29
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.