返回类似wave的字符串的代码存在问题,在每个循环之后,下一个字母将是大写的



如果字符串中没有空格,代码将按照预期执行。但有了空格,它认为也需要将空格大写。

据我所知,我的代码与索引有关,索引上是否有空格或字母并不重要,代码将执行任务。

如何删除空白,然后重新附加?

或者我可以以某种方式使循环忽略空白吗?

不在主题上,但如果字符串没有空格,这对这类任务来说是一个好的/有效的解决方案吗?

提前感谢!

无空格:

n = "camel"
def f(n):
x = 0
print ([n[:x] + n[x].upper() + n[x+1:] for x in range(len(n))])
f(n)

打印:

['Camel', 'cAmel', 'caMel', 'camEl', 'cameL']

带空格:

n = "ca mel"
def f(n):
x = 0
print ([n[:x] + n[x].upper() + n[x+1:] for x in range(len(n))])
f(n)

打印:

['Ca mel', 'cA mel', 'ca mel', 'ca Mel', 'ca mEl', 'ca meL']

只有当字符不是空格时,才能使用条件执行操作:

def f(n):
x = 0
print([n[:x] + n[x].upper() + n[x+1:] for x in range(len(n)) if n[x] != ' '])

相关内容

最新更新