Python初学者问题:如何使用for/while循环来解决这道题?
Python Beginner Question: How to use for/while loop to solve this question?
情况:
- 让用户输入全名
- 与space分开
- 可以在每个“子名”前显示“Hi”
示例:
- 用户输入:Zoe Xander Young
- 预期结果:
嗨佐伊
嗨 Xander
嗨,年轻
我的问题:
如何通过Python解决这个问题? (因为我正在学习 Python 并且这个练习来自一本书)
不知道要不要先把space的index标出来,再把全名切片
这是我目前所做的:
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 = " ")
这是一种用 for loop
:
解决问题的 pytonic 方法
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
情况:
- 让用户输入全名
- 与space分开
- 可以在每个“子名”前显示“Hi”
示例:
- 用户输入:Zoe Xander Young
- 预期结果: 嗨佐伊 嗨 Xander 嗨,年轻
我的问题:
如何通过Python解决这个问题? (因为我正在学习 Python 并且这个练习来自一本书)
不知道要不要先把space的index标出来,再把全名切片
这是我目前所做的:
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 = " ")
这是一种用 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