Ir ao conteúdo

Posts recomendados

Postado

 

#!python3

locdown = not False

grana = 341

print('ficar em casa' if locdown  and grana <= 40  else 'uhuuuuuu' )

print('ficar em casa' if locdown or grana<= 40 else 'uhuuuuuu')

 

 

porque esse codigo esta voltando 

'uhuuuu '

 

?

 se colocar or no lugar do and 

resultado ficar em casa

 

mas or é quando apenas uma das coisas 

 

e o and é as duas das coisas

  • Moderador
Postado

@João L. Dattoli Creio que em python,  a sintaxe é muito importante. Ou seja, você deve sempre identar seu código.

Tente desta forma:

 

locdown = False
grana = 341

if not locdown == True and grana <= 40:
    print('ficar em casa')
else:
    print('uhuuuuuu')

 

Você pode reduzir o código desta maneira também:

locdown = not False
grana = 40
print("ficar em casa") if locdown == True and grana <= 40 else print("uhuuuuuu")

 

Postado

@João L. Dattoli  A condicional dessa forma, como fez na função print, é um inline if ou operador ternário, p.ex,

 

x = True

 

y = 1 if x else 2

 

Assim o valor de y será 1 se x for True, caso contrário o valor atribuiído será 2. Nesse caso y = 1 já que x é True.

 

No seu código a variável locdown recebe True já que está negando False. E o primeiro print mostra "uhuuuuuu" porque locdow é True mas grana não é menor ou igual a 40. O teste lógico and só é verdadeiro quando as duas condições são verdadeiras.

 

O segundo print mostra "ficar em casa" já que o teste é True (locdown True or grana menor ou igual a 40). O teste or só é falso quando as duas são falsas.

  • Curtir 1
  • 2 semanas depois...
  • 3 semanas depois...

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...