[ Foro de Python ]

Duda print

23-Oct-2017 10:46
Pedro Gómez-Calcerrada Tajuelo
1 Respuestas

Buenos días, soy nuevo en el foro, y también nuevo en el manejo del Phyton. No sé cómo crear esta consulta en un foro. Agradezo enormemente a este foro la ayuda que me está brindando.
Estoy intentando realizar un ejercicio en el que me piden los divisores de un número mayor que cero (salvo el mismo número y el 1). Más o menos lo tengo resuelto; pero necesito que me devuelva la lista de los divisores separados por comas y al final, tras el último divisor de la lista, que ponga un punto. Esto no soy capaz de conseguirlo. Aquí les dejo lo que he podido crear hasta ahora. Muchas gracias.

a = int(input('Escribe un número entero mayor que cero: '))
if a>0:
   for i in range(2, a):
       if a%i==0:
           print(i,',',end='.')
   if a%i!=0:
       print('El número', a, 'es primo')
if a<=0:
   print ('El número debe ser mayor que cero')
             
#Me falta que salga un punto despues del ultimo divisor. P. ej. con el 854
#Si pongo esto: print(i,',',end='.') sale esto: 2 ,.7 ,.14 ,.61 ,.122 ,.427 ,.
#Si pongo  esto: print(i,sep=', ',end='.')   sale esto: 2.7.14.61.122.427
#Necesito que salga 2, 7, 14, 61, 122, 427.


27-Oct-2017 10:58
Nacho Cabanes (+84)

Hay varias formas de hacerlo. Por ejemplo:

- Mostrar el primer divisor sin coma, y a partir de ahí, los demás con una coma delante, para terminar con el punto.

- Guardar todos los datos en una lista, que luego podrás recorrer y manipular como quieras.

- Ir concatenando cada número y una coma como parte de una cadena de texto. Cuando termines, reemplazas la última coma por un punto y entonces ya escribes la 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.)