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
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.
+ 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?
+ 1
Para modificar el valor de s, debes reasignarselo cuando quieras que su valor sea distinto.
s = s + 20
Por ejemplo.
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
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.
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
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
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.
0
Si quieres recoger varias entradas el g = input() deberĂa estar dentro del bucle