0

What is wrong here? Someone can explain me pls

s = 100 h = 10 m = -20 sh = 1 g = input () while sh == 4: if g == "h": print (g+h) else : print (g+m) if g == "m": print (g+m) else : print (g+h) sh += 1 print (s) I need to calculate total s after 4 entries but the result is not correct

8th Jun 2021, 10:50 PM
Mateo Zuluaga
Mateo Zuluaga - avatar
9 Answers
+ 2
At the first, the explicit value of sh is 1, so will never be 4 and never entry on the while loop.
8th Jun 2021, 10:57 PM
D-3V
D-3V - avatar
+ 1
Hello, s is not modified, so that print(s) will always be 100 on the other hand sh is declared as 1, so the while loop is never executed What do you want to calculate in s?
8th Jun 2021, 11:07 PM
Monica Garcia
Monica Garcia - avatar
+ 1
Para modificar el valor de s, debes reasignarselo cuando quieras que su valor sea distinto. s = s + 20 Por ejemplo.
8th Jun 2021, 11:16 PM
D-3V
D-3V - avatar
0
Puedes reescribirlo por favor? No entiendo muy bien la verdad porque, si estå explícito que cuando la entrada llegué a 4 se ejecute la sumatoria
8th Jun 2021, 11:00 PM
Mateo Zuluaga
Mateo Zuluaga - avatar
0
Te lo reescribiría sin problema, pero no acabo de entender que es lo que estås buscando hacer. Si con lo que te contesto ahora no es suficiente, dame detalles y te lo escribo. Piensa que al usar el while, le estås diciendo: Oye, quiero que mientras sh sea 4, se ejecute, cuando no sea 4 no hagas nada. Entonces no estå haciendo nada porqué sh no es 4.
8th Jun 2021, 11:05 PM
D-3V
D-3V - avatar
0
Pues ahĂ­ le estoy diciendo que cuando sh sea 4 ejecute dependiendo la entrada, pero abajo estĂĄ especificado que sh aumentan cantidad de 1 por cada entrada, no entiendo cĂłmo obtener el resultado correcto, o sea el programa me da un resultado pero no es el correcto. No estĂĄ restando, a veces tampoco suma
8th Jun 2021, 11:07 PM
Mateo Zuluaga
Mateo Zuluaga - avatar
0
Hola Sara, quiero calcular el resultado después de las 4 entradas, sean "h" o "m" , pero creo que si siempre me da 100, cómo tengo que hacer para que se ejecute de manera correcta el código
8th Jun 2021, 11:11 PM
Mateo Zuluaga
Mateo Zuluaga - avatar
0
En el primer if, le preguntas si el valor g es uno concreto, y si no es ese se irå al siguiente else. Continuarå bajando, y se meterå en el otro else también ya que g no serå igual a m si era igual a h, por lo que estås entrando en dos else, o en un if y luego en un else, o en un else y luego en un if. Te recomiendo usar elif, para gestionar el tema que acabo de comentar. Otro problema que veo, es que si entrase en el bucle, no saldría ya que el valor de sh se estå modificando debajo del bloque while, no dentro.
8th Jun 2021, 11:14 PM
D-3V
D-3V - avatar
0
Si quieres recoger varias entradas el g = input() deberĂ­a estar dentro del bucle
8th Jun 2021, 11:21 PM
Monica Garcia
Monica Garcia - avatar