Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

352
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!