Ejercicio 2

Ejercicio 2

de BLARDONE, Franco Luis -
Número de respuestas: 4

Buen dia profe,

Tengo una duda en el ejercicio 2 del TP. Entiendo que debo recorrer una cadena y verificar si tiene caracteres que no son letras o numeros. Estoy teniendo problemas con el metodo para recorrerla, ya que mediante un for puedo recorrerla, pero tomando decision con un if-else no llego al resultado.

Y mediante un ciclo while no estaría encontrando la forma de indicar la accion a realizar si no se cumple la condicion que indique.

Espero su respuesta.

En respuesta a BLARDONE, Franco Luis

Re: Ejercicio 2

de FINOCHIETTO, Jorge M. -
Hola,

El ciclo while es el que te permite repetir tu parte de código tantas veces necesarias hasta lograr que se ingrese una palabra correcta. Por lo tanto, debieras pensar primero en algo así:

palabra = raw_input()
correcta = False
while correcta:
if palabra solo tiene letras:
correcta = True
else:
palabra = raw_input()

Ahora bien, existen varias formas de determinar si la palabra tiene sólo caracteres. Una sencilla es contar cuantas letras tiene la palabra y ver si esta cantidad es igual a su número de caracteres.

letras = 0
for caracter in palabra:
if (a<= caracter <=z) or (A<= caracter <=Z) :
letras += 1

Por lo que parte del código de la función podría quedar algo así:

palabra = raw_input()
correcta = False
while correcta:
letras = 0
for caracter in palabra:
if (a<= caracter <=z) or (A<= caracter <=Z) :
letras += 1
if letras == len(palabra):
correcta = True
else:
palabra = raw_input()

Saludos,

Jorge
En respuesta a FINOCHIETTO, Jorge M.

Re: Ejercicio 2

de BLARDONE, Franco Luis -
Claro, entiendo.
Ahora en cuanto a esta parte: # if (a<= caracter <=z) or (A<= caracter <=Z) el programa me dice que "a" no esta definida globalmente. Entiendo que debiera comparar los valores de tabla de "caracter" con los valores de "a" y "z" igualmente con las mayúsculas, pero no estaría funcionando.
En respuesta a BLARDONE, Franco Luis

Re: Ejercicio 2

de FINOCHIETTO, Jorge M. -
Si, deberia ser if ('a'<= caracter <='z') or ('A'<= caracter <='Z')
Faltaban las comillas simples que denotan caracter.

Jorge