我正在尝试编写一个函数,它将接受一个句子并使每个奇数字母变为大写字母,每个偶数字母变为小写字母。
这是我尝试过的:
def func(st):
res = []
for index, c in enumerate(st):
if index % 2 == 0:
res.append(c.upper())
else:
res.append(c.lower())
return ''.join(res)
print(myfunc(something))
当输入为 "Hello my Guy"
时,输出为 "HeLlO My gUy"
而不是 "HeLlO mY gUy"
因为它算作一个字母空白,我该怎么办?
最佳答案
我会这样写:
from itertools import cycle
def my_func(st):
operation = cycle((str.upper, str.lower))
conv = [next(operation)(c) if c != ' ' else c for c in st]
return ''.join(conv)
演示:
>>> my_func("Hello my guy")
'HeLlO mY gUy'
关于python - 如何使枚举不计算空白的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72741198/