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()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 😊
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.