ho erroneamente scritto questo codice in Python:Qual è il valore logico di "string" in Python?
name = input("what is your name?")
if name == "Kamran" or "Samaneh":
print("That is a nice name")
else:
print("You have a boring name ;)")
Esso stampa sempre fuori "Questo è un bel nome", anche quando l'ingresso non è né "Kamran" né "Samaneh".
Sono corretto nel dire che considera "Samaneh" come un vero? Perché?
A proposito, ho già notato il mio errore. La forma corretta è:
if name == "Kamran" or name == "Samaneh":
Non solo liste, tuple e dicts - * tutte le collezioni vuote * (se ben scritto). – delnan
@delnan, stavo cercando di pensare a un buon modo per dirlo, quindi mi sono attenuto ai built-in e ho dimenticato i set. – aaronasterling
La maggior parte degli oggetti, raccolta o altro, sono veritieri; solo quelli che sono esplicitamente definiti altrimenti non lo sono. Se si definisce una classe con 'class C(): pass', le istanze testeranno come' True'. –