如何形成for循环?
例如,我希望在名称中有两个单词或三个单词时运行for循环。
我需要为不同数量的名称进行for
循环。
例如,对于两个单词,saint christopher
只能从s
获取saint
并获取christopher
以获得schristopher
的结果。
另一个示例kyrie andrew irving
,我想从k
获得kyrie
,从a
和andrew
获取irving
以获取结果kairving
。
假设:
saint christopher
kyrie andrew irving
结果:
schristopher
kairving
我做了:
s = ("saint christopher", "kyrie andrew irving")
for s >= 2:
first = s.split()
separate = list(first[0])
secondword = first[1]
firstletter = separate[0]
print(firstletter+secondword)
我应该在哪里修理?
答案 0 :(得分:1)
def make_username(name):
return ''.join(x[0].lower() if i != len(name.split()) - 1 else x.lower() for i, x in enumerate(name.split()))
>>> make_username('saint christopher')
'schristopher'
>>> make_username('kyrie andrew irving')
'kairving'
>>> make_username('holly mother of god')
'hmogod'
...这将为包含任意数量的子名称的名称创建用户名。它需要每个子名的第一个字母,除了最后一个以整个子名称为单位。
答案 1 :(得分:0)
您要完成的任务非常简单,即使您的for循环语法已关闭,您在问题的代码中也会非常接近它。这就是你需要的:
names = ['kyrie andrew irving', 'saint christopher']
for item in names:
name_sep = item.split(' ')
username = ""
for i in name_sep[0:-1]:
username += i[0]
username += name_sep[-1]
print(username)
让我一步一步地指导你:
我建议你阅读this。这是官方python文档本身的教程。它应该让您基本掌握语法以及如何使用python。
答案 2 :(得分:0)
谢谢你Steampunkery,你的评论帮了我很多!
我已将编码编辑为
for line in infile:
first = line.lower().split()
username=""
for i in first[0:-1]:
username+=i[0]
newusername+= first[-1]
lastname = newusername[:9]
print(lastname)