Python 初学者问题:如何使用 for/while 循环来解决这个问题?

Python Beginner Question: How to use for/while loop to solve this question?

提问人:Jack Mui 提问时间:3/23/2022 最后编辑:Jack Mui 更新时间:3/23/2022 访问量:43

问:

情况:

  • 允许用户输入全名
  • 有空间分隔
  • 可以在每个“子名称”之前显示“Hi”

例:

  • 输入用户: Zoe Xander Young
  • 预期结果: 嗨,佐伊 嗨,Xander 嗨英

我的问题:

如何通过Python解决这个问题?(因为我正在学习 Python,这个练习来自一本书)

我不确定我是否应该指示空格的索引,然后切分全名。

这是我到目前为止所做的:

user_input = "name name name"

for i in range(len(user_input)):
    if user_input[i] == " ":
        index_space = i
        print(i)
        continue
    print(user_input[i], end = " ")
python for 索引 while 循环 切片

评论

2赞 mozway 3/23/2022
我给你一个提示,你的循环应该从for name in user_input.split():

答:

1赞 D.L 3/23/2022 #1

这是一种解决问题的平速方法:for loop

user_input = "Zoe Xander Young"


for n in user_input.split():
    print('hi ' + n)

这是使用以下方法的替代方法:list comprehension

user_input = "Zoe Xander Young"
[print('hi '+n) for n in user_input.split()]

对于上述两种情况,输出将为:

hi Zoe
hi Xander
hi Young

评论

0赞 Jack Mui 3/25/2022
感谢它!从这里得到了很多帮助(因为这是我在 Stackflow 中的第一个问题)