Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

354
Visualizações
La declaración if/else no funciona correctamente en OpenSesame como se esperaba

Estoy usando OpenSesame basado en python para construir un experimento. Todo el experimento funciona bien excepto por una cosa. Escribí un script de python en línea para dar retroalimentación auditiva condicional a los participantes. En la primera condición, la retroalimentación 'Sound_Win.wav' debe ocurrir si la suma de 2 variables es mayor que 0 (funciona bien). En la segunda condición, la retroalimentación 'Sound_Lose.wav' debe ocurrir si la suma de 2 variables es menor que 0 (funciona bien). En la tercera condición, la retroalimentación 'Sound_No.wav' debe ocurrir si la suma de 2 variables es igual a 0. Sin embargo, usando el siguiente código, la tercera condición está reproduciendo la retroalimentación 'Sound_Lose.wav' en lugar de 'Sound_No.wav' retroalimentación (error). Cualquier ayuda sería muy apreciada.

 if [loss]+[win] > 0: src = pool['Sound_Win.wav'] my_sampler = Sampler(src, volume=1.0) my_sampler.play() if [loss]+[win] < 0: src = pool['Sound_Lose.wav'] my_sampler = Sampler(src, volume=1.0) my_sampler.play() elif [loss]+[win] = 0: src = pool['Sound_No.wav'] my_sampler = Sampler(src, volume=1.0) my_sampler.play()
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Por lo que entiendo del código, en lugar de escribir el segundo if, desde el principio, presione una pestaña para sangrar dentro de la primera declaración if y luego escriba la declaración elif según la segunda declaración if, porque la segunda solo sucede si la primera sale incorrecta o mal!!

Si entendí mal, por favor háganmelo saber!! Seguramente lo espero con ansias!!

Gracias 😊

about 4 years ago · Juan Pablo Isaza Relatório

0

Si te entiendo correctamente, la loss y la win son simplemente números enteros, por lo que tu código debería ser:

 if loss + win > 0: src = pool['Sound_Win.wav'] my_sampler = Sampler(src, volume=1.0) my_sampler.play() elif loss + win < 0: src = pool['Sound_Lose.wav'] my_sampler = Sampler(src, volume=1.0) my_sampler.play() else: src = pool['Sound_No.wav'] my_sampler = Sampler(src, volume=1.0) my_sampler.play()

Simplemente sumas las loss y win . Además, dado que los números enteros están muy definidos, usar una cadena if/elif/else como esta cubre todas las posibilidades.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda