Python Mistake – Número de letras en el nombre

Escribe un progtwig que compruebe cuánto tiempo tiene un nombre. El progtwig debe tomar un nombre como entrada del usuario.

Si el nombre tiene 3 letras o menos, su progtwig debería funcionar así:

Escribe tu nombre: Lin Hi Lin, tienes un nombre corto.

Si el nombre tiene entre 4 y 8 letras (inclusive), su progtwig debería funcionar así:

Escribe tu nombre: Jimmy Hola Jimmy, un placer conocerte.

De lo contrario, si el nombre tiene más de 8 letras, su progtwig debería funcionar así:

Escribe tu nombre: Yaasmeena Hola, Yaasmeena, tienes un nombre largo.

Aquí está mi bash, pero siempre me devuelve “Hola XXXXXXX, tienes un nombre corto” independientemente de la longitud.

Name = input('Enter your name: ') if Name.count('Name') >= int(3): print ('Hi', 'Name', ',', 'nice to meet you.') elif Name.count('Name')  int(8): print ('Hi', 'Name', ',', 'you have a long name.') 

Debe usar len(name) y no necesita int(3) ya que 3 ya es un número entero. Su cheque debe verse así:

 name = input('Enter your name: ') if len(name) >= 3: # do stuff 

Cambié Name por name ya que esta es la convención estándar de nombrar variables en Python.

Tu código no se comportará como esperas. Además de usar len, use el formato de cadena. Intente reorganizar sus declaraciones if de la siguiente manera:

 name = raw_input('Enter your name: ') if len(name) > 8: print 'Hi {}, you have a long name.'.format(name) elif len(name) > 3: print 'Hi {}, nice to meet you.'.format(name) else: print 'Hi {}, you have a short name.'.format(name) 

o podrías factorizarlo así:

 name = raw_input('Enter your name: ') greeting = 'Hi {}, '.format(name) if len(name) > 8: statement = 'you have a long name.' elif len(name) > 3: statement = 'nice to meet you.' else: statement = 'you have a short name.' print '{}{}'.format(greeting, statement) 
 a = input('Enter your name: ') if len(a) <= int(3): print ('Hi', a+ ',', 'you have a short name.') elif len(a) <= int(8): print ('Hi', a+ ', nice to meet you.') elif len(a) > int(8): print ('Hi', a+ ', you have a long name.')