Forum >> Principianti >> Tabella di verità not(A or B)

Pagina: 1

Salve a tutti, premetto che sono agli inizi. Ho iniziato un corso di programmazione in Python da qualche mese e mi sono imbattuto in un esercizio che in parte ho svolto ma mi sono bloccato nell'ultima parte... mi spiego.. l'esercizio consiste nel creare un programma in Python che restituisca una tabella di verità not (A or B).
Utilizzare una funzione link () per il collegamento, che riceve due valori booleani come argomento e restituisce il risultato del collegamento come stringa di caratteri. Dovrebbe essere restituito "vero" o "falso".
La tabella dovrebbe essere emessa al di fuori della funzione.
Io ho fatto così...

def link(a, b):
    if (not(a or b) == 0):
        return "falso"
    else:
        return "vero"
falso = False
vero = True
tabella = [
  [falso, falso],
  [falso, vero],
  [vero, falso],
  [vero, vero],
]

for a, b in tabella:
    print(a, b, link(a, b))







in output:


False False vero

False True falso

True False falso

True True falso

>>>


non capisco il mio errore.. come faccio a far uscire la tabella tutta in italiano? Forse ho fatto un casino :thinking:

grazie in anticipo per il vostro aiuto




--- Ultima modifica di Kz32206 in data 2020-08-27 11:13:08 ---
a e b sono dei valori booleani, se li stampi direttamente verranno stampati come tali.




Un possibile alternativa, sarebbe stampare con condizione, alterando, leggermente, il Tuo codice :

>>> def link(a, b):
	if a or b:
		return 'falso'
	else:
		return 'vero'

	
>>> tabella = [(False, False),
	       (False, True),
	       (True, False),
	       (True, True)]
>>> for a, b in tabella:
	print('Vero' if a else 'Falso', 'Vero' if b else 'Falso', link(a,b))

	
Falso Falso vero
Falso Vero falso
Vero Falso falso
Vero Vero falso
>>> 


Fatti non foste a viver come bruti...
Proprio quello che stavo cercando di fare! Grazie :) ;)
o anche




translate = ["falso", "vero"]


def link(a, b):
    return translate[not (a or b)]


table = [(False, False), (False, True), (True, False), (True, True)]

for a, b in table:
    print(translate[ a ], translate[ b ], link(a, b))









--- Ultima modifica di ㎝ in data 2020-08-27 19:16:19 ---
THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝


Pagina: 1



Esegui il login per scrivere una risposta.