Skip to content

Instantly share code, notes, and snippets.

@hcosta
Created February 15, 2022 11:19
Show Gist options
  • Save hcosta/589db30b61b391b089478d4c83e06ee8 to your computer and use it in GitHub Desktop.
Save hcosta/589db30b61b391b089478d4c83e06ee8 to your computer and use it in GitHub Desktop.
import sys
if len(sys.argv) == 2:
numero = int(sys.argv[1])
if numero < 0:
print("Error - Número es incorrecto")
print("Ejemplo: descomposicion.py [0-999999999999999999999999]")
else:
# Aqui va la lógica
cadena = str(numero)
longitud = len(cadena)
for i in range(longitud):
# Utilizamos identificadores para la cadena y la longitud
print( "{cadena:0{longitud}d}".format(
cadena=int(cadena[longitud-1-i]) * 10 ** i,
longitud=longitud))
else:
print("Error - Argumentos incorrectos")
print("Ejemplo: descomposicion.py [0-999999999999999999999999]")
@Vingiloth
Copy link

Yo lo hice de la siguiente manera:

import sys 
print("Introduzca un número entero positivo")
if int(sys.argv[1])%1 != 0 or int(sys.argv[1])< 0:
    print("Introduzca un número entero positivo para poder descomponerlo")
elif int(sys.argv[1])%1 == 0 and int(sys.argv[1])>= 0:
    a = len(sys.argv[1])
    print("Se descompone el número en lo siguiente: ")
    for i in range(a):
        print(f"{int(sys.argv[1][-1-i])*(10**i):{a}}")
else:
    print("Introduzca un número entero positivo para poder descomponerlo")

@sbc-fernandadiaz
Copy link

hola. Lo realicé de la siguiente manera:
import sys
print(sys.argv) # argumentos enviados

if len(sys.argv)== 2:
numero = (sys.argv[1])
long = len(numero)
numero = int(numero)
med = 1
lista =[]
while long > 0:
digito = int((numero / med) % 10)
lista.append(digito)
long-=1
med *=10

a=1
for n in lista:
    print(f"{n*a:0{len(lista)}d}")
    a*=10

else:
print("Error: Introduce la cantidad de argumentos 1 entero positivo")
print("Ejemplo: descomposicion.py 1")

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment