0 tem valor lógico False e os demais números de valor lógico True
com o operador and quando a primeira expressão for verdadeira ele retorna a segunda caso contrário retorna a primeira
0 and 2
0
2 and 3
3
com operador or quando a primeira expressão for falsa ele retorna a segunda caso contrário retorna a primeira
0 or 2
2
3 or 2
3
sdn = 0 # a soma dos divisores de n
n = int(input('digite um valor: '))
for x in range(1,n+1):
if n%x == 0:
sdn += x # é a mesma coisa que sdn = sdn +x
print("a soma dos divisores de",n,'é',sdn) # estou usando a versão 3.4 print agora é um função.
Pelo jeito ele retorna o último valor(o valor da direita)
com o operador or ele retorna o primeiro valor(valor da esquerda)
5 or 6 = 5
5 and 6 = 6
78 and "x" = "x"
78 or "x" = 78
E ai pessoal estou começando agora no fórum e no python e estou com um problema neste código:
def nome(mensagem):
print(mensagem)
aparece o seguinte erro:
Traceback (most recent call last):
File "<pyshell#48>", line 1, in <module>
nome(mensagem)
NameError: name 'mensagem' is not defined
Já tentei de tudo!!
Alguém pode me ajudar?