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

发布于 2025-01-16 06:46:49 字数 499 浏览 0 评论 0原文

情况:

  • 让用户输入全名
  • ,中间用空格分隔
  • 可在每个“子名”前显示“Hi”

示例:

  • 用户输入: Zoe Xander Young
  • 预期结果: 嗨佐伊 嗨,桑德尔 Hi Young

我的问题:

如何用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 = " ")

Situation:

  • let the user enter a full name
  • with space to separate
  • Can show "Hi" before each "sub-name"

Example:

  • User entered: Zoe Xander Young
  • Expected result:
    Hi Zoe
    Hi Xander
    Hi Young

My question:

How to solve this problem by Python? (Because I'm learning Python and this exercise got from a book)

I'm not sure whether I should indicate the index of space and then slice the full name.

Here's what I did so far:

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 = " ")

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

御守 2025-01-23 06:46:49

这是使用 for 循环解决问题的 pytonic 方法:

user_input = "Zoe Xander Young"


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

这是使用列表理解的替代方法:

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

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

hi Zoe
hi Xander
hi Young

This is a pytonic way of resolving the question with a for loop:

user_input = "Zoe Xander Young"


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

And here is an alternative method using list comprehension:

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

For both of the above the output would be:

hi Zoe
hi Xander
hi Young
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文