Foros del Web » Programando para Internet » Python »

Duda empezando

Estas en el tema de Duda empezando en el foro de Python en Foros del Web. Hola a todos, pues me acabo de iniciar en Python a través de varios manuales de internet. Empecé con Variables, E/O, operaciones aritméticas y ahora ...
  #1 (permalink)  
Antiguo 21/03/2014, 14:40
 
Fecha de Ingreso: marzo-2014
Mensajes: 4
Antigüedad: 10 años, 1 mes
Puntos: 0
Duda empezando

Hola a todos, pues me acabo de iniciar en Python a través de varios manuales de internet. Empecé con Variables, E/O, operaciones aritméticas y ahora estoy con "if...elif....else".

Con cada tema voy haciendo unos ejercicios pero en éste me he quedado atascado.

El enunciado sería el siguiente:

Escriba un programa que pida dos números enteros y que calcule su división, escribiendo si la división es exacta o no.Se puede mejorar el programa haciendo que tenga en cuenta que no se puede dividir por cero.

Divisor de números
Escriba el dividendo: 14
Escriba el divisor: 5
La división no es exacta. Cociente: 2 Resto: 4



Divisor de números
Escriba el dividendo: 20
Escriba el divisor: 0
No se puede dividir por 0



Todo va bien, hasta que tengo en cuenta lo de la división por cero. He visto las soluciones y no entiendo porque de la forma que hago yo no me funciona, mostrándome el siguiente mensaje:

D:\a\Tema 2>01
Divisor de números

Escriba el dividendo: 20
Escriba el divisor: 0
Traceback (most recent call last):
File "D:\a\Tema 2\01.py", line 6, in <module>
cociente = int (dividendo/divisor)
ZeroDivisionError: division by zero




A ver si me podéis ayudar en donde fallo:

print ("Divisor de números")
print ()
dividendo = int (input("Escriba el dividendo: "))
divisor = int (input("Escriba el divisor: "))

cociente = int (dividendo/divisor)
resto = int (dividendo%divisor)

if divisor == 0:
print ("No se puede dividir por 0")
else:
if (dividendo % divisor) == 0:
print ("La división es exacta. Cociente: ", cociente)
else:
print ("La división no es exacta. Cociente: ", cociente, "resto: ", resto)




Muchas gracias!!!
  #2 (permalink)  
Antiguo 21/03/2014, 15:40
 
Fecha de Ingreso: marzo-2014
Mensajes: 12
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Duda empezando

Hola, no soy experto en python( de hecho todavía estoy terminando un curso) pero el error que veo es que precisamente que en python dividir por cero esta considerado un error y por eso no funciona.
Tu código original:

Código:
print ("Divisor de números")
print ()
dividendo = int (input("Escriba el dividendo: "))
divisor = int (input("Escriba el divisor: "))

cociente = int (dividendo/divisor)
resto = int (dividendo%divisor)

if divisor == 0:
	print ("No se puede dividir por 0")
else:
	if (dividendo % divisor) == 0:
		print ("La división es exacta. Cociente: ", cociente)
	else:
		print ("La división no es exacta. Cociente: ", cociente, "resto: ", resto)
Corregido:
Código:
print ("Divisor de numeros")
print ()

dividendo = int (input("Escriba el dividendo: "))
divisor = int (input("Escriba el divisor: "))
#Hasta aqui es igual
#Ahora quito cociente y resto y los pongo en el else para que no lancen el error de la division por cero, y solo se ejecuten si no hay cero
if divisor == 0:
	print ("No se puede dividir por 0")
else:
	cociente = int (dividendo/divisor)
	resto = int (dividendo%divisor)
	if (dividendo % divisor) == 0:
		print ("La division es exacta. Cociente: ", cociente)
	else:
		print ("La division no es exacta. Cociente: ", cociente, "resto: ", resto)
  #3 (permalink)  
Antiguo 21/03/2014, 15:48
 
Fecha de Ingreso: marzo-2014
Mensajes: 4
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Duda empezando

No sabia que en python dividir por cero lo consideraba como error, lo tendré en cuenta a partir de ahora.

Muchísimas gracias!!
  #4 (permalink)  
Antiguo 21/03/2014, 16:02
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Duda empezando

En cualquier lenguaje de programación, no solo en python, y de hecho hasta una claculadora decente debería darte un error.


Saludos
__________________
Grupo Telegram Docker en Español
  #5 (permalink)  
Antiguo 21/03/2014, 18:08
 
Fecha de Ingreso: diciembre-2011
Mensajes: 408
Antigüedad: 12 años, 3 meses
Puntos: 18
Respuesta: Duda empezando

hola te recomiendo codeacademy asi aprenderas mucho mas rapido
  #6 (permalink)  
Antiguo 21/03/2014, 18:16
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Duda empezando

Simplemente agregar que deberías utilizar un potente editor de lenguajes de programación como NotePad++, ya que eso te ayudará bastante en la sintáxis de tus programas, cláro esto no te solucionará ningún fallo que tengás en tu código, pero si te ayudará mucho si te olvidás algo, como los espacios despues del if o el else.
Y otro consejo personal, no uses tabulaciones, mejor son los 4 espacios, bueno por lo menos a mi eso siempre me daba error mis programas con tabulaciones, es un consejo.
Yo configuré mi NotePad++ para que al pulsar la tecla TAB deje los 4 espacios.
Suerte!!

PD: La estructura del if y el else son así:

if (comparacion):
comandos...
else:
comandos...
  #7 (permalink)  
Antiguo 21/03/2014, 18:17
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Duda empezando

Ohh vaya no tomo los espacios, bueno lo haré de una manera mejor:

if (condicion):
* comandos...
else:


  #8 (permalink)  
Antiguo 21/03/2014, 18:27
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Duda empezando

Una mejor manera es usar el resaltador de código
__________________
Grupo Telegram Docker en Español
  #9 (permalink)  
Antiguo 21/03/2014, 19:00
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Duda empezando

Así es amigo Carlangueitor

Vuelvo a dejar el código, a ver si sale bien ahora:

Código Python:
Ver original
  1. if (condicion):
  2.     comandos...
  3. else:
  4.     comandos...
  #10 (permalink)  
Antiguo 22/03/2014, 02:17
 
Fecha de Ingreso: marzo-2014
Mensajes: 4
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Duda empezando

Cita:
Iniciado por minimal Ver Mensaje
hola te recomiendo codeacademy asi aprenderas mucho mas rapido
Voy echar un vistacillo a ver que tal!


Principe_Azul la verdad que solo he descargado el Phyton 3.4 y estoy programando aí. Supongo que si, que deberé descargarme alguno
  #11 (permalink)  
Antiguo 22/03/2014, 04:25
 
Fecha de Ingreso: marzo-2014
Mensajes: 4
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Duda empezando

Acabo de instalar el Notepad++. He buscado y no encuentro nada respecto a si en Notepad++ es posible mientras se ejecuta el programa que has creado que te vaya indicando en que linea del código fuente estás.

Me acuerdo que cuando nos enseñaran C hace años en el Ciclo, nos indicaba subrayando la linea del codigo fuente. Es decir una vez que introducías el dato que te pedía ya te señalaba a la linea del codigo fuente el paso en donde estabas. Hay algo similiar en Notepadd++?


Muchas gracias!!!!
  #12 (permalink)  
Antiguo 22/03/2014, 13:26
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Duda empezando

Muy bien en bajarte la última versión.
Con respecto a lo de NotePad++ la verdad no sé si tendrá esa función, se que tiene muchísimas opciones, coloreado de sintáxis, avisos por ejemplo si identas mal en un if, también tiene para personalizar el skin, bastantes cosas trae.
No se para que querrías saber en que línea va el programa cuando se está ejecutando, todo programa tiene un gran bucle, por ejemplo si vos creas un "Hola mundo" ya tiene un bucle, cláro vos no lo ves, pero ese bucle lee todo el código y lo vuelve a hacer tantas veces como sea necesario.
Perro si necesitás ayuda en alguna parte de tu código, avisános creando un nuevo tema y te ayudaremos, yo soy novato todavía, pero algo podré hacer (si es que se del tema).

Un abrazo!!
  #13 (permalink)  
Antiguo 22/03/2014, 18:40
 
Fecha de Ingreso: diciembre-2011
Mensajes: 408
Antigüedad: 12 años, 3 meses
Puntos: 18
Respuesta: Duda empezando

Cita:
Iniciado por 0skar1984 Ver Mensaje
Voy echar un vistacillo a ver que tal!


Principe_Azul la verdad que solo he descargado el Phyton 3.4 y estoy programando aí. Supongo que si, que deberé descargarme alguno

si quieres aprender luego django y en español te recomiendo los cursos de mejorando.la

Etiquetas: empezando, gui, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:57.