0

我编写了一个代码,它根据名称的长度返回一个短语。问题是,除非我修复这个小错误,否则我无法提交它。

这是我写的:

name = input('Enter your name: ')

if len(name) <= 3:

  print ('Hi',name,', you have a short name.')

elif len(name) > 8:

  print ('Hi',name,', you have a long name.')

elif len(name) >= 4:

  print ('Hi',name,', nice to meet you.')

例如:当我输入 3 个字母的名称时,例如“Lin”,它会重新运行以下内容

“嗨,林*(空格)*,你有个短名字。”

我希望摆脱(空间)并让它返回:

“嗨,林,你的名字很短。”

我认为错误在于我的连接,它会在逗号后自动添加一个空格。

4

4 回答 4

0

print函数在其参数之间打印一个空格。您可以显式连接字符串以控制分隔:

print('Hi ' + name + ', you have a short name.')

或使用字符串格式:

print('Hi {}, you have a short name.'.format(name))
于 2013-08-14T01:16:58.950 回答
0

对于您的输入,也可以使用 strip() 函数去除空格

name = name.strip()

如何修剪空白(包括制表符)?

于 2013-08-14T01:19:28.850 回答
0

你是对的, print(x, y, z) 将按顺序打印 x、y 和 z,中间有一个空格。按照您的建议,将您的姓名连接到您的问候语中,然后打印问候语:

name = input('Enter your name: ')
if len(name) <= 3:
  greeting = "Hi {}, you have a short name.".format(name)

elif len(name) > 8:
  greeting = "Hi {}, you have a long name.".format(name)

elif len(name) >= 4:
  greeting = "Hi {}, nice to meet you.".format(name)

print(greeting)
于 2013-08-14T01:19:58.323 回答
0

您可以像这样在 Python 中连接字符串:

print('Hello ' + name + ', you have a wonderful name!')

或者,没有括号:

print 'Hello '  + name + ', you have a wonderful name!'

您还可以做很多其他棘手的事情,但对于这样的事情,只需使用“+”号即可。

于 2013-08-14T01:22:18.763 回答