elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Python (Moderador: Danielㅤ)
| | |-+  [Python] reconocer cadenas en un ciclo y ejecutar
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Python] reconocer cadenas en un ciclo y ejecutar  (Leído 2,572 veces)
rul0

Desconectado Desconectado

Mensajes: 1


Ver Perfil
[Python] reconocer cadenas en un ciclo y ejecutar
« en: 10 Abril 2013, 01:47 am »

Mi idea es hacer un ciclo en el cual se pida ingresar una cadena, y chequear que esta, primero que nada contenga en el primer caracter, una 'a'. Que admita solo 3 tipos de caracteres (a,b,c) y que según el caracter diga el caracter, juntando así la palabra. Y, por último, cuando se ingrese una cadena vacia, termine el ciclo y diga la suma de todas las letras ingresadas.

Mi prototipo:

Código:
x=0
fin=0
while (fin==0):
    cadena=raw_input('')
    if (cadena[0]=='A' or 'a'):
        for i in range (len(cadena)):
            if (cadena[i]=='A' or 'a'):
                print 'A'
            elif (cadena[i]=='B' or 'b'):
                print 'B'
            elif (cadena[i]=='C' or 'c'):
                print 'C'
            else:
                print 'Caracter invalido'
                continue
        continue
    else:
        print 'debe comenzar con A'
raw_input ()





Sé que parece no tener mucho sentido, pero es un ejercicio que quiero poder hacer.


« Última modificación: 10 Abril 2013, 09:03 am por EleKtro H@cker » En línea

GeoxX

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: [Python] reconocer cadenas en un ciclo y ejecutar
« Respuesta #1 en: 15 Abril 2013, 00:23 am »

Tu codigo tiene algunos problemas:
No usas la variable x para nada, el while nunca lo terminas, estas usando mal los arrays, en el if tienes problemas usando ese 'or', un raw_input para nada al final, no haces nada si el usuario ingresa una cadena vacia, etc.

Arreglando un poquito tu codigo, tengo esto:


Código:
fin = 0
cadenafinal = ''
cadena = ''

cadena = raw_input('')
if (cadena == 'A' or cadena == 'a'):
cadenafinal = cadena #asi cadenafinal contiene la primera 'a' o 'A'
print 'A'   
while (fin == 0):
cadena = raw_input('')
if (cadena == 'A' or cadena == 'a' ):
print 'A'
    elif (cadena == 'B' or cadena == 'b'):
print 'B'
    elif (cadena == 'C' or cadena == 'c' ):
        print 'C'
    elif (cadena == ''):
fin = 1 #para terminar el while
continue
else:
print 'Caracter invalido'
continue
    cadenafinal = cadenafinal + cadena
print 'La cadena final es: ' + cadenafinal
else:
print 'debe comenzar con A'

Asi funciona como dices en tu post, aunque cambiaria el if por esto:

Código:
if (cadena in ['a', 'b', 'c', 'A', 'B', 'C']):
print cadena.capitalize() #para que funcione como el anterior, devolviendo mayuscula
    elif (cadena == ''):
fin = 1
continue
else:
print 'Caracter invalido'
continue


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ciclo 2010 - Charlas abiertas de Python
Foro Libre
criskapunk 1 2,064 Último mensaje 16 Julio 2010, 18:45 pm
por Aeros
[Python]Problema al ejecutar metodo principal
Python
Debci 3 5,953 Último mensaje 10 Septiembre 2010, 17:15 pm
por Debci
[Python]¿Ejecutar instrucciones al mismo tiempo?
Python
S3kh 1 3,509 Último mensaje 2 Octubre 2011, 21:08 pm
por calk9
Sobre error al ejecutar visual-python
Scripting
lindtaylor 2 3,386 Último mensaje 1 Febrero 2012, 02:21 am
por lindtaylor
Reconocer cambios echos en txt python tipo bucle
Python
dian1919 3 4,048 Último mensaje 2 Marzo 2023, 07:04 am
por MCKSys Argentina
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines