[ Foro de Python ]

Ayuda con un programa

06-Aug-2017 07:08
Invitado (Ruddy Jacob)
1 Respuestas

Buenas, necesito ayuda con un programa que consiste en ingresar y convertir numeros a cualquier base, el programa lo estoy haciendo en python, el problema que tengo es la función "Resultado",lo que quiero es almacenar el resultado de la conversion en una cadena.


def ConversionB(n,b):
	n=str(n)
	b=int(b)
	n=n[::-1]
	for i in range(0,len(n),1):
		if (int(ord(n[i]))<65):
			c=float(ord(n[i])-48)*pow(b,i)
		elif (int(ord(n[i]))>=65):
			c=float(ord(n[i])-55)*pow(b,i)
	return c
def Resultado(n,br):
	n=int(n)
	br=int(br)
	v=" "
	v2=" "
	while(n>0):
		a=n%br
		n/=br
		if (a<10):
			v=str(v)+chr(a+48)
			v2=str(v2)+v
		else:
			v=str(chr(a+55))
			v2=str(v2)+v
	return v2
def suma(n1,b,n2,b2,br):
	n1=str(n1)
	b=int(b)
	n2=str(n2)
	b2=int(b2)
	br=int(br)
	x=ConversionB(n1,b)
	y=ConversionB(n2,b2)
	r=x+y
	rf=Resultado(r,br)
	return rf


 


11-Aug-2017 23:07
Nacho Cabanes (+84)

Usas nombres de variables tan cortos que no es fácil seguir tu programa, y más sin comentarios ni un cuerpo de programa que ayude a entender la lógica que persigues. ¿La función resultado debe convertir un número a cadena?  Si es así, ¿por qué recibe dos parámetros? ¿Si "ConversionB" es la que convierte de una base a otra, no debería ser esa la que devolviera una cadena?






(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.)