[ Foro de Python ]
Buenas, voy a ser directo...
Quiero recrear un juego de apuestas llamado "Crash" (creo que ese es el nombre), y estoy teniendo un problema el cual no encuentro la solución, soy nuevo en esto de Python y no sé si es posible, pero necesito que el usuario detenga un ciclo for, el cual se suma sucesivamente de 0.01, en el punto que él quiera.
Ej: ejecutó el programa, y el número empieza por 1.00 y va aumentando se +0.01 cada vez, llega a 1.34 y quiero detenerlo ahí. cómo podría hacer?
Dejo la parte (incompleta) aquí:
numero = random.randint(105, 500)
for i in range(100, numero):
time.sleep(0.05)
a = i / 100
print("El número va por... " + str(a))
hola cairo
tal y como lo explicas hay un error, pues dices que empiezas en 1.00 y realmente empiezas en 105, ¿¿??, será porque es parte del código y el 1.00 esta en otro sitio
si lo quieres hacer con for y quieres salir en 134, puedes:
- sumar la cantidad correspondiente al número de inicio en el range, con lo que cuando llegues a la cifra convenida finalizará el bucle se parara solo
- o introducir un if en el bucle que compruebe si llegaste y si llegaste break, con lo que saldrás del bucle
también puedes usar un while(numero < 134) y hacer los incrementos dentro del bucle
como ves tienes varias opciones y seguro que hay mas ...
suerte ;-)
¡Hola! Lo que puedes hacer es utilizar la función 'input()' para que el usuario pueda detener el ciclo en el momento que lo desee. La idea es que en cada iteración del ciclo, se pregunte si el usuario quiere detenerlo, y en caso afirmativo se rompa el ciclo.
Por ejemplo:
import random
import time
numero = random.randint(105, 500)
for i in range(100, numero):
time.sleep(0.05)
a = i / 100
print("El número va por... " + str(a))
respuesta = input("¿Quieres detener el ciclo? (S/N)")
if respuesta.lower() == 's':
break
En este caso, se pregunta al usuario si quiere detener el ciclo después de cada iteración, y si responde 'S' (puede ser en mayúsculas o minúsculas gracias a la función 'lower()'), se rompe el ciclo.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)