Python - Crear un contador

   
Vista:
Imágen de perfil de Yang Carlo

Crear un contador

Publicado por Yang Carlo (3 intervenciones) el 24/02/2015 21:49:21
Buen día,soy nuevo en el mundo de python asi como en el de la programación, estoy practicando y adaptandome a esto,y por eso me platee este problema a resolver con Python:

Quiero hacer el conteo tipo scort de videojuego que me valla sumando lo que voy "ganando" por cada vez que un while va dando vuelta, es decir, laprimera vez gano 200, la segunda 400, la tecera 600 y asi sucesivamente aumentando 200 por vez que gano y quiero que 200,400,600 etc se almacen y me den el gran total que en estecaso seria 1200 entre los pases del while, hice varios intentos pero el resultado del total que voy generando solo me va a umentando de 400 en 400 cada vez en lugar de hacerme la suma correcta.

Repito, soy nuevo en esto de la programación y no doy porcompleto en la logica y quisiera que alguien me ayudara a resolverlo y explicarme un poco del porque no acierto en la solución.

adjunto una imagen de lo que he realizado en python 3.4



ayuda-python
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Crear un contador

Publicado por Juan Manuel (5 intervenciones) el 25/02/2015 01:15:34
que tal amigo, yo tambien estoy comenzando recien con el tema de aprender python, eh revisado tu caso y me parece que estas fallando el orden de las instrucciones, tienes que entender que python ejecuta las instrucciones linea por linea,, ahh otra cosa, justo por el orden de tus instrucciones tu variable "antesdeaumento" vuelve a estado inicial 0....
te adjunto la imagen de como deberia de ser el orden asi entiendes mejor.
adsdsa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear un contador

Publicado por MMan (4 intervenciones) el 25/02/2015 01:59:26
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
veces=0
ganancia=200  // ganancia siempre es 200
total=0
 
print ("****")
print ("inicia")
print ("****")
 
while veces<=5:
	print("veces: ",veces,"ganado: ",ganancia)
	print("total ganado :",total)
	total=total+ganancia
	veces=veces+1
 
print("fin")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Yang Carlo

Crear un contador

Publicado por Yang Carlo (3 intervenciones) el 26/02/2015 04:34:31
Hola, gracias por contestar, con respecto a lo que me dices es correcto, ya he re-analizado el código y a mi parecer debería de estar bien, sin embargo, aun no hace lo que necesito, y creo que no me expliqué bien la vez anterior y fue mi culpa; lo que mi código debería de hacer es hacer una especie de scort, con una variable que me valla guardando todo lo que he ganado por cada ronda que ha realizado el while, no importando cuantas vueltas de, explico un poco mas: la vez 0 no cuenta y por lo tanto no se gana nada
en la vez 1 se ganan 200 lo que se va a total=200
en la ronda 2 se ganan 400 lo que en total=200+400=600
en la ronda 3 se ganan 600 lo que a total=600+600=1200
en la ronda 4 se ganan 800 lo que a total=1200 + 800=2000
en la ronda 5 se ganan 1000 lo que a total=2000+1000=3000

Espero no ser muy redundante y haberme explicado mejore de esta manera (aunque un poco mas larga), el código que me mandaste hace lo de sumar 200 cada vez pero no me da el resultado de total, y en el mio solo me aumenta de 400 en 400 y no se porque, espero haberme explicado mejor.

ADJUNTO MI CÓDIGO PARA QUE LO PUEDAS VER MAS FÁCIL EJECUTÁNDOLO EN PYTHON:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
veces=0
ganancia=0
antesdeaumento=0 #variable que guarda el valor de ganancia antes del aumento
despuesdeaumento=0 #variable que guarda el valor de ganancia después del aumento
 
 
print ("*************************************")
print ("*          EMPIEZA EL WHILE         *")
print ("*************************************")
 
while veces<=5:
    antesdeaumento=ganancia #esta parte me guarda el valor de ganancia antes de
                            #que se aumenten los 200 por repetición
    total=antesdeaumento+despuesdeaumento #asigno el valor a total en un principio
    print ("repetición:",veces,"ganado en esta ronda:",ganancia) #imprime lo ganado y las veces
    veces=veces+1           #aumenta 1 a las veces que pasa el while
    ganancia=ganancia+200   #aumenta 200 ganados por repetición
    despuesdeaumento=ganancia#creo que en esta parte debería de guardarme el valor
                             #de ganancia después de que se le han aumentado
                             #los 200 que se aumentan por ronda
    print ("Total ganado en todas las rondas:",total)
    #el resultado que debe de dar esto ultimo es la suma del total que se
    #ha ganado en todas las repeticiones anteriores
 
print ("*************************************")
print ("*          TERMINA EL WHILE         *")
print ("*************************************")

TAMBIEN ADJUNTO EL RESULTADO QUE DA ESTE CÓDIGO

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
*************************************
*          EMPIEZA EL WHILE         *
*************************************
repetición: 0 ganado en esta ronda: 0
Total ganado en todas las rondas: 0
repetición: 1 ganado en esta ronda: 200
Total ganado en todas las rondas: 400
repetición: 2 ganado en esta ronda: 400
Total ganado en todas las rondas: 800
repetición: 3 ganado en esta ronda: 600
Total ganado en todas las rondas: 1200
repetición: 4 ganado en esta ronda: 800
Total ganado en todas las rondas: 1600
repetición: 5 ganado en esta ronda: 1000
Total ganado en todas las rondas: 2000
*************************************
*          TERMINA EL WHILE         *
*************************************
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear un contador

Publicado por Rolando (7 intervenciones) el 26/02/2015 17:52:09
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
veces = 0
ganancia = 0
total = 0
print ("*************************************")
print ("* EMPIEZA EL WHILE *")
print ("*************************************")
while veces<=5:
	print ("Ronda:",veces+1,"Ganancia:",ganancia)
	veces = veces + 1
	total = ganancia + total
	ganancia = ganancia + 200
	print ("Total ganado:",total)
print ("*************************************")
print ("* TERMINA EL WHILE *")
print ("*************************************")

Resultado:

*************************************
* EMPIEZA EL WHILE *
*************************************
('Ronda:', 1, 'Ganancia:', 0)
('Total ganado:', 0)
('Ronda:', 2, 'Ganancia:', 200)
('Total ganado:', 200)
('Ronda:', 3, 'Ganancia:', 400)
('Total ganado:', 600)
('Ronda:', 4, 'Ganancia:', 600)
('Total ganado:', 1200)
('Ronda:', 5, 'Ganancia:', 800)
('Total ganado:', 2000)
('Ronda:', 6, 'Ganancia:', 1000)
('Total ganado:', 3000)
*************************************
* TERMINA EL WHILE *
*************************************


espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Yang Carlo

Crear un contador

Publicado por Yang Carlo (3 intervenciones) el 26/02/2015 18:25:45
WOW, que sencillo, se me había cerrado el mundo y ya no veía otras posibilidades, gracias por tu ayuda de verdad me has dado muchas puertas nuevas al crear y analizar código, de nuevo muchas gracias por haberme dado la solucion y de manera tan sencilla...

Ahora una pregunta mas y solo por curiosidad y si queires responderla: porque la primera vez me agregaba los 200 y despues de agregaba de 400 en 400, a lo que voy, que es lo que hacia que mi codigo estubiera mal, graciasRolando...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear un contador

Publicado por Rolando (7 intervenciones) el 26/02/2015 18:51:48
debe ser donde asignabas valor a la variable antes=ganancia, ya antes de terminar el ciclo estabas asignando a la variable despues=ganancia y justamente despues de darle valor a antesdeaumento dabas como resultado en total la suma de antes y despues. si te fijas bien no es que sume de 400 en 400, mas bien es el doble de lo que pones en ganancia.
saludos y ayudar es 100pre un placer...jeje
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar