Foro de elhacker.net

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
  1. output = ''
  2.  
  3. for num in xrange(10):
  4.  output += str(num)
  5.  
  6. print output

¡Saludos!


Título: Re: Problema cadenas de texto en python
Publicado por: aangrymasther en 16 Marzo 2017, 14:40 pm
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
Código:
[ # -*- 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)