gpt4 book ai didi

python - 如何对字符串的奇数和偶数进行不同的操作?

转载 作者:太空宇宙 更新时间:2023-11-04 06:51:48 25 4
gpt4 key购买 nike

我正在尝试更新我的字符串:

  • 奇数位置的每个单词都会变成大写。
  • 偶数位置的每个单词都被颠倒

例如,如果我的输入字符串是:

n = 'what is the boarding time in bangalore station'

我希望我的输出字符串是:

WHAT si THE gnidraob TIME ni BANGALORE noitats

这是我试过的代码:

n = 'what is the boarding time in bangalore station'
m = n.split(" ")
k=m[0::2]
for i in k:
print(i.upper())

最佳答案

您的解决方案不完整。与其对每个替代词进行切片并一次执行一种操作,不如依次迭代每个词,并适本地处理它。

这是解决问题的一种简单方法。定义一个小函数来为你做这件事。

  1. 将字符串拆分为单词
  2. 对于每个词,检查它是否是偶数词。如果是,则将其大写。如果不是,则将其反转
  3. 将转换后的单词连接成一个字符串

def f(n):
for i, w in enumerate(n.split()):
if i % 2 == 0:
yield w.upper() # uppercase even words
else:
yield w[::-1] # reverse odd words

>>> ' '.join(f('what is the boarding time in bangalore station'))
'WHAT si THE gnidraob TIME ni BANGALORE noitats'

f 所做的是将字符串拆分为单词列表。 enumerate将列表转换为 (index, word) 元组列表。使用索引来确定单词是奇数还是偶数。 yield 将函数转换为生成器,从循环中一次生成一个单词。最后,str.join 将每个单词连接回一个字符串。

请注意,还有其他方法可以实现此目的。我将它们作为练习留给您。

关于python - 如何对字符串的奇数和偶数进行不同的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48130286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com