| 
	
		|  Autor | Tema: Ayuda urgente con problema en python  (Leído 4,458 veces) |  
	| 
			| 
					
						| Josueosor 
								
								 Desconectado 
								Mensajes: 4
								
								
								
								
								
								   | 
 
Me mandaron a escribir un programa que te pida la hora, luego te pida el formato (am o pm), luego me pedirá cuántas horas al futuro quieres ir y luego a la hora ingresada previamente se le suma las horas al futuro y el formato cambia de AM a pm o viceversa si lo necesita y me lleva comiendo la cabeza por dias, alguien me podría ayudar? 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| Danielㅤ | 
 
Hola, por supuesto que te podemos ayudar, déjanos tu código y coméntanos específicamente que problema o duda tenés con tu código.
 Si es para pedido para que te hagamos la tarea, no podremos porque estamos de vacaciones.
 
 
 Saludos
 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| Josueosor 
								
								 Desconectado 
								Mensajes: 4
								
								
								
								
								
								   | 
 
 hour = input('Enter an hour between 1 and 12: ')h = int(hour)ampm = input('am (1) or pm (2)? ')              a = int(ampm)b = 1c = 2future = input('how many hours ahead?: ')f = int(future)m = f + hif m <= 12:  if a == b:    print('New hour am: ')    print(m)  else:     print('New hour pm: ')    print(m)elif a == b:  new_hour = h + f - 12  print('New hour pm: ')  print(new_hour)else:  new_hour2 = h + f - 12  print('New hour am:')  print(new_hour2) 
 Está así, el problema es que no me cambia el formato de AM a pm bien [MOD] usar las etiquetas GeSHi para publicar codigo.
 
 Necesito ayuda súper rápido :C[MOD] No hacer doble post. Usa el botón modificar. |  
						| 
								|  |  
								| « Última modificación: 28 Enero 2021, 21:34 pm por MCKSys Argentina » |  En línea | 
 
 |  |  |  | 
			| 
					
						| MCKSys Argentina | 
 
Hola! Puedes usar datetime  para hacer los cálculos: import datetime hour = input('Enter an hour between 1 and 12: ')if (not hour.isdecimal()) or (int(hour) < 1 or int(hour) > 12):    print('You must enter an hour between 1 and 12!')    exit(0)h = datetime.datetime(year=2021, month=1, day=1, hour=int(hour)) ampm = input('am (1) or pm (2)? ')if (not ampm.isdecimal()) or (int(ampm) != 1 and int(ampm) != 2):    print('You must enter 1 for am or 2 for pm!')    exit(0)a = int(ampm) if a == 2:    h += datetime.timedelta(hours=12) future = input('how many hours ahead?: ')if not future.isdecimal():    print('You must enter a numer of hours!')    exit(0)f = int(future) m = h + datetime.timedelta(hours=f)print('New hour %s: ')print('{:%I %p}'.format(m))exit(0) 
 Saludos! |  
						| 
								|  |  
								|  |  En línea | 
 
 MCKSys Argentina"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando." |  |  |  | 
			| 
					
						| Josueosor 
								
								 Desconectado 
								Mensajes: 4
								
								
								
								
								
								   | 
 
No funciona, queda así:
 Enter an hour between 1 and 12: 12
 am (1) or pm (2)? 1
 how many hours ahead?: 4
 New hour %s:
 04 PM
 
 Deberia quedar 4 AM con esas especificaciones
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| MCKSys Argentina | 
 
No funciona, queda así:
 Enter an hour between 1 and 12: 12
 am (1) or pm (2)? 1
 how many hours ahead?: 4
 New hour %s:
 04 PM
 
 Deberia quedar 4 AM con esas especificaciones
 
 Tienes razón, las 12 AM son las 00:00 en formato de 24 horas. Debes corregir el if que agrega 12 horas si es PM, para que agregue 12 horas cuando es am. Osea, cambiar el: if a == 2: 
 por  EDIT:if a == 1: 
 De paso, deja 1 solo print al final, por ej: print('New hour: {:%I %p}'.format(m)) 
 Saludos! |  
						| 
								|  |  
								| « Última modificación: 28 Enero 2021, 23:04 pm por MCKSys Argentina » |  En línea | 
 
 MCKSys Argentina"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando." |  |  |  | 
			| 
					
						| Josueosor 
								
								 Desconectado 
								Mensajes: 4
								
								
								
								
								
								   | 
 
lamentablemente ahora el error es al contrario si no eligo 12 como hora inicial queda asi:
 Enter an hour between 1 and 12: 4
 am (1) or pm (2)? 1
 how many hours ahead?: 4
 08 PM
 
 al parecer no fui el unico al que le exploto la cabeza .-.
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| tincopasan 
								       
								
								 Desconectado 
								Mensajes: 1.286
								 
								No es lo mismo conocer el camino que recorrerlo.
								
								
								
								
								
								   | 
 
no iba a responder, porque me molesta lo de "urgente", no sé pòrque el foro debería ser ayuda para tareas Y encima con apuros, en fin, como te han ayudado te diré que hay muchas formas de hacerlo, ahora siguiendo tu lógica, no funcionará ni a palos, agrega 50 hs y fijate que pasa, además hay tantas declaraciones inentendible que ni hablar, pero una forma sin uso de bibliotecas sería:  hour = int(input('Enter an hour between 1 and 12: '))ampm = int(input('am (1) or pm (2)? '))              if ampm == 1:    ampm ='am'else:    ampm = 'pm' future = int(input('how many hours ahead?: '))m = hour + future tiempo ,hora_nueva= divmod(m,12)  if tiempo %2 == 1:    if ampm == 'am':        ampm = 'pm'    elif ampm == 'pm':        ampm = 'am' print(f'La nueva hora es: {hora_nueva} {ampm}')   
 al parecer no fui el unico al que le exploto la cabeza .-. esta huevada no le puede explotar la cabeza a nadie Edit: pegue otro código que también pedían en el foro y también respondí. |  
						| 
								|  |  
								| « Última modificación: 29 Enero 2021, 01:42 am por tincopasan » |  En línea | 
 
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | PROGRAMA EN PYTHON AYUDA URGENTE Scripting
 | viki_297 | 1 | 3,494 |  15 Junio 2012, 03:22 am por criskapunk
 |  
						|   |   | ayuda con python urgente!! Scripting
 | cartylanz | 2 | 3,516 |  20 Junio 2015, 23:05 pm por explorer
 |  
						|   |   | [AYUDA] Crear tablas con informacion PYTHON URGENTE! Scripting
 | gramsch | 1 | 2,296 |  10 Agosto 2015, 23:21 pm por tincopasan
 |  
						|   |   | Necesito ayuda urgente!!! Por favor... Python Scripting
 | Korina | 4 | 2,780 |  4 Diciembre 2015, 20:09 pm por tincopasan
 |  
						|   |   | AYUDA URGENTE  PYTHON 3 porfa Programación General
 | papess | 1 | 3,043 |  13 Agosto 2019, 21:05 pm por tincopasan
 |    |