Python错误 - 名字中的字母数

时间:2013-08-13 03:42:42

标签: python variables python-3.x

编写一个程序来检查名称的长度。该程序应该使用一个名称作为用户的输入。

如果名称包含3个或更少的字母,您的程序应该如下:

输入你的名字:林 林嗨,你的名字很短。

如果名称有4到8个字母(含),那么您的程序应该是这样的:

输入你的名字:吉米 吉米,很高兴见到你。

否则,如果名称超过8个字母,您的程序应该如下:

输入您的姓名:Yaasmeena 嗨Yaasmeena,你有一个很长的名字。

这是我的尝试,但无论长度如何,它总会返回“嗨XXXXXXX,你有一个简短的名字。”

Name = input('Enter your name: ')

if Name.count('Name') >= int(3):
  print ('Hi', 'Name', ',', 'nice to meet you.') 

elif Name.count('Name') <= int(3):
  print ('Hi', 'Name', ',', 'you have a short name.')

elif Name.count('Name') > int(8):
  print ('Hi', 'Name', ',', 'you have a long name.')

3 个答案:

答案 0 :(得分:4)

您应该使用len(name)并且您不需要int(3)因为3已经是整数。您的支票应如下所示:

name = input('Enter your name: ')

if len(name) >= 3:
   # do stuff

我将Name更改为name,因为这是Python中变量命名的标准惯例。

答案 1 :(得分:1)

您的代码不会按预期运行。除了使用len之外,还要使用字符串格式。尝试按如下方式重新安排if语句:

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)

或者你可以这样考虑它:

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)

答案 2 :(得分:0)

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.')