我在做this Hackerrank 上的问题,我想出了这个主意,其中包括拆分输入并在之后加入它(请参阅下面的实现)。但是,其中一个测试用例包含输入(hello <多个空格> world),这导致我的代码崩溃,因为输入字符串在每个单词之间有超过 1 个空格。所以,我只是想知道是否有人可以帮我修复我的代码,我只是想知道如何在 Python 中计算字符串中有多少个空格(尤其是多个空格)。我找到了如何在 Java 中计算空格,但在 Python 中没有。对于测试用例,我附上了图片。 多个空格>
提前致谢。
我的实现:
input_string = input()
splitter = input_string.split()
final = []
for i in range(0,len(splitter)):
for j in range(0,len(splitter[i])):
if(j==0):
final.append(splitter[i][j].upper())
else:
final.append(splitter[i][j])
# Assumed that there is one space btw each words
final.append(' ')
print(''.join(final))
For Test case pic,
请您参考如下方法:
您可以通过使用模式 ' ' (空格)拆分来修复它
splitter = input_string.split(' ')
您也可以使用 .capitalize() 方法而不是再次拆分 token
s = "hello world 4lol"
a = s.split(' ')
new_string = ''
for i in range(0, len(a)) :
new_string = a[i].capitalize() if len(new_string)==0 else new_string +' '+ a[i].capitalize()
print(new_string)
输出:
Hello World 4lol
要计算两个单词之间的空格数,可以使用 python 的正则表达式模块。
import re
s = "hello world loL"
tokens = re.findall('\s+', s)
for i in range(0, len(tokens)) :
print(len(tokens[i]))
输出:
7
2
