Duda muy básica

Iniciado por jeanbkn, 7 Febrero 2015, 16:48 PM

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

jeanbkn

Hola, digamos que soy nuevo en programación, he querido empezar con python, la verdad es que no me atrae mucho ir leyendome tutoriales, creo que soy mejor analizando códigos, aprendo más...

He querido contar los números del 1 al 30, pero que esten separados por y sólo una coma, sin espacios entre medio, y no lo puedo lograr jajaja, no sé por qué

Este código me funciona, sin embargo los numerillos me salen " 1, 2, 3, 4" (La idea es que salga sin espacios)
x=1
while x<=30
print x
print ","
x=x+1

luego viendo otros códigos intente probar este, pero ni idea de por qué no me funciona:
x=1

while x<=21:
print x
print ","
x=x+1

def Replace(string):
string= string.replace(" ","")
return string

string = x
print replace(string)


PD: Hay algun grupo de usuarios o comunidad interesada aprender SQL o algún lenguaje de programación? , pienso que aprender sólo es bastante aburrido, seria interesante tener alguien más con quien hablar y compartir xD

Saludos

GonzaFz

#1
Debes colocar una coma al final del print para indicar que sigue en la misma linea.
Código (python) [Seleccionar]

x = 1
while x <= 30:
print x,
x += 1


Un tip de programacion:
Cuando vas a iterar una cantidad de veces determinada, o mejor dicho conocida antes de iniciar el bucle, se recomienda usar "for":
Código (python) [Seleccionar]

for x in range(1, 30):
print x,


La funcion range(start, stop[, step]) https://docs.python.org/2/library/functions.html#range crea una lista que empieza en start, finaliza en stop y avanza tanto como step indique.
Si pasas un solo argumento sera stop, y start comenzara automaticamente en 0.
Si pasas dos argumentos el primero será start, el segundo stop.
Si pasas tres argumentos sera como el anterior nada mas que el ultimo indicara cuanto avanzar.

Eleкtro

#2
También puedes hacerlo de esta manera, usando la función join para concatenar los elementos de la lista usando el string especificado:

Código (python) [Seleccionar]
values = range(1, 31)
print ','.join(map(str, values))


Output:
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30

Edito: Obviamente si lo prefieres puedes utilizar la secuencia directamente, te lo he escrito así para denotar la diferencia entre los datatypes, ya que estás aprendiendo.

Saludos.