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 Respostas
+ 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