Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: aangrymasther en 16 Marzo 2017, 00:36 AM

Título: Problema cadenas de texto en python
Publicado por: aangrymasther en 16 Marzo 2017, 00:36 AM
Hola, les quería preguntar sobre un problema que me esta surgiendo a la hora de programar en python, estoy haciendo un pequeño programa de criptografía cesar, el programa funciona bien pero e d un problema muy simple: Cuando imprime el resultado lo imprimea una letra por párrafo, lo cual es bastante incomodo a la hora de leer. Lo que me gustaría hacer sería poner todo en la misma línea. El problema esta en que utilizo un bucle for para que pase la letra a la siguiente en x posiciones del abecedario , por lo que imprime la letra en los párrafos separados ya que traduce letra por letra y no una cadena de texto entera.

¿Alguien sabría como ponerlo todo en la misma cadena de texto?

Gracias de antemano.
Título: Re: Problema cadenas de texto en python
Publicado por: engel lex en 16 Marzo 2017, 00:45 AM
muestra tu programa, porque asi de buenas a primeras puede que sea que estás haciendo un print por letras en lugar de simplemente concatenar o modificar la letra en la cadena
Título: Re: Problema cadenas de texto en python
Publicado por: Eleкtro en 16 Marzo 2017, 02:13 AM
Hola. Tan solo tienes que declarar una variable de tipo string e ir almacenando/concatenando los caracteres hasta que la ejecución del búcle termine, y entonces puedes mostrar el string en una sola linea de texto.

Un ejemplo básico:
Código (python) [Seleccionar]
output = ''

for num in xrange(10):
  output += str(num)

print output


¡Saludos!
Título: Re: Problema cadenas de texto en python
Publicado por: aangrymasther en 16 Marzo 2017, 14:40 PM
Cita de: engel lex en 16 Marzo 2017, 00:45 AM
muestra tu programa, porque asi de buenas a primeras puede que sea que estás haciendo un print por letras en lugar de simplemente concatenar o modificar la letra en la cadena
[ # -*- coding: utf-8 -*-
mensaje = raw_input("Código: ")
clave = raw_input("clave del mensaje: ")
pregunta = raw_input("1) Codificar 2)descodificar? ")

if pregunta == "1":
for letra in mensaje:
a = ord(letra)
b = chr(a) + chr(6)
if b > 95:
print chr(ord(letra) -95 + 6)
elif b < 95:
print chr(ord(letra) + 6)
elif pregunta == "2":
for letra in mensaje:
print chr(ord(letra) - 3)