Concatenar los números entre 1 y N y ver si es divisible entre 3 (Python)

Iniciado por ThePaquet1, 29 Enero 2021, 19:58 PM

0 Miembros y 1 Visitante están viendo este tema.

ThePaquet1

Buenas, estoy intentando hacer un programa que básicamente funciona de esta forma:
Pido por pantalla un número, y a partir de ese número debo formar un número N concatenando todos los números entre 1 y N. Por ejemplo, si introduzco un 12, el número N será 123456789101112. Una vez se haya formado N debo devolver por pantalla "SI" en el caso de que N sea divisible entre 3 y "NO" en el caso de que no lo sea.

Esto es lo que tengo:

n = int(input("Introduce un número:"))

for x in range (n + 1):
   if(n%3==0):
       print("SI")
   else:
       print("NO")


Acabo de empezar a utilizar el for y el range y no sé que estoy haciendo mal, si alguien puede echarme una mano estaría muy agradecido.

MCKSys Argentina

Hola!

Puedes concatenar los numeros en un string y luego convertirlo a int y devolver el resultado:

Código (python) [Seleccionar]

n = int(input("Introduce un numero:"))

N = ''
for x in range (1, n + 1):
    N += str(x)
print (N) #Solo es para ver si lo anterior ha funcionado
if(int(N)%3)==0:
    print("SI")
else:
    print("NO")


Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


ThePaquet1

¡Muchísimas gracias! Estaba desesperado por no saber como concatenar los números en Python.