Python - uso de while

 
Vista:
sin imagen de perfil

uso de while

Publicado por Iker (2 intervenciones) el 22/10/2021 13:43:59
Hola, he creado un cronometro usando un bucle while, y me he puesto a intentar hacer un temporizador, he creado dos posibilidades, pero aunque arranca, no para cuando se le determina; aquí os dejo los dos que he hecho a ver si tenéis alguna idea.
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
a = 2
y = 1
x = 1
microsec = 0
nanosec = 0
sec = 0
min = 0
hours = 0
secF = input("sec:")
minF = input("min:")
hoursF = input("hours:")
 
while a == 2:
   while microsec < 60:
      (microsec, y) = (y, y+1)
      print (hours,":",min,":",sec,":",nanosec,":",microsec)
 
   (nanosec, x) = (x, x+1)
   microsec=0
   y=0
   print (hours,":",min,":",sec,":",nanosec,":",microsec)
 
   if nanosec == 60:
     sec = sec + 1
     nanosec = 0
     microsec = 0
     y = 0
     x= 0
     print (hours,":",min,":",sec,":",nanosec,":",microsec)
   if sec == 60:
     min = min + 1
     sec = 0
     nanosec = 0
     microsec = 0
     y = 0
     x= 0
     print (hours,":",min,":",sec,":",nanosec,":",microsec)
   if min == 60:
     hours = hours + 1
     min = 0
     sec = 0
     nanosec = 0
     microsec = 0
     y = 0
     x= 0
     print (hours,":",min,":",sec,":",nanosec,":",microsec)
   if hours == 24:
     a = 3
   if sec == secF:
     if min == minF:
       if hours == hoursF:
         a=3

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
a = 2
y = 1
x = 1
microsec = 0
nanosec = 0
sec = 0
min = 0
hours = 0
secF = int(input("sec:"))
minF = input("min:")
hoursF = input("hours:")
 
while hours == hoursF:
  while min <= minF:
    while sec <= secF:
      while microsec < 60:
        (microsec, y) = (y, y+1)
        print (hours,":",min,":",sec,":",nanosec,":",microsec)
 
      (nanosec, x) = (x, x+1)
      microsec=0
      y=0
      print (hours,":",min,":",sec,":",nanosec,":",microsec)
      if nanosec == 60:
        sec = sec + 1
        nanosec = 0
        microsec = 0
        y = 0
        x = 0
        print (hours,":",min,":",sec,":",nanosec,":",microsec)
      if sec == 60:
        min = min + 1
        sec = 0
        nanosec = 0
        microsec = 0
        y = 0
        x= 0
      print (hours,":",min,":",sec,":",nanosec,":",microsec)
      if min == 60:
        hours = hours + 1
        min = 0
        sec = 0
        nanosec = 0
        microsec = 0
        y = 0
        x= 0
      print (hours,":",min,":",sec,":",nanosec,":",microsec)
print (hours,":",min,":",sec,":",nanosec,":",microsec)

El segundo directamente nisiquiera arranca.
muchas gracias
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
Imágen de perfil de Antoni Masana
Val: 121
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

uso de while

Publicado por Antoni Masana (67 intervenciones) el 22/10/2021 15:29:53
El segundo es fácil, en el primer while

1
2
3
4
5
6
hours = 0
secF = int(input("sec:"))
minF = input("min:")
hoursF = input("hours:")
 
while hours == hoursF:

hours es un número entero
hoursF es un string

Y por supuesto 0 no es igual a "0"

Y revisando el primero pasa exactamente lo mismo:

1
2
3
4
5
6
7
sec = 0          # --- Enteros
min = 0
hours = 0
 
secF = input("sec:")            # --- String
minF = input("min:")
hoursF = input("hours:")


Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

uso de while

Publicado por Iker (2 intervenciones) el 22/10/2021 16:10:56
muchas gracias, ahora que he solucionado este problema, me ha surgido la duda de si podría hacer que cuando el cronometro llegase al momento indicado, que emitiese un sonido, estilo un pitido o algo así.
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