给定一段英文文本(单词间都是空格分隔),请编写一个函数,将每个单词的首字母转成大写。
def to_capital(words): # your codes
示例:
输入:"hogwarts school of witchcraft and wizardry" 输出:"Hogwarts School Of Witchcraft And Wizardry"
解决思路:
1. 首先将输入的文本分割成单词列表。
2. 对于每个单词,将其首字母转成大写,保持其他字母不变。
3. 将处理后的单词重新组合成一个字符串。
4. 返回转换后的文本。
代码实现:
def to_capital(words):
word_list = words.split() # 将文本分割成单词列表
result = []
for word in word_list:
capitalized_word = word.capitalize() # 转换首字母为大写
result.append(capitalized_word)
return ' '.join(result)
# 测试示例
input_text = "hogwarts school of witchcraft and wizardry"
output_text = to_capital(input_text)
print(output_text) # 输出 "Hogwarts School Of Witchcraft And Wizardry"
或者:
将输入的文本按空格分隔成单词列表
然后对每个单词使用`capitalize()`方法将首字母转成大写
最后再将处理后的单词列表合并成一个字符串返回。
这样就实现了将每个单词的首字母转成大写的功能
def to_capital(words):
capitalized_words = ' '.join([word.capitalize() for word in words.split()])
return capitalized_words
# 测试示例
input_text = "hogwarts school of witchcraft and wizardry"
output_text = to_capital(input_text)
print(output_text) # 输出 "Hogwarts School Of Witchcraft And Wizardry"
2.给定一个字符串,请编写一个python函数,将其中的每个单词的字母顺序进行反转。空格的个数不定,记得需要保留所有的空格哟。
示例:
输入:"Welcome to hogwarts!"
,输出:emocleW ot !strawgoh
。
输入:"hello world"
,输出:olleh dlrow
。
解决思路:
1.将输入的字符串按空格分割成单词列表
2.然后对每个单词的字母顺序进行反转
3.最后重新组合单词并保留空格,最终返回处理后的字符串。
这样就实现了将每个单词的字
代码实现:
def reverse_words(input_str):
words = input_str.split() # 将字符串按空格分割成单词列表
reversed_words = [word[::-1] for word in words] # 反转每个单词的字母顺序
# 重新组合单词并保留空格
result = ''
for i in range(len(words)):
result += reversed_words[i]
if i < len(words) - 1:
result += ' ' # 重新添加空格
return result
# 测试示例
input_text1 = "Welcome to hogwarts!"
output_text1 = reverse_words(input_text1)
print(output_text1) # 输出 "emocleW ot !strawgoh"
input_text2 = "hello world"
output_text2 = reverse_words(input_text2)
print(output_text2) # 输出 "olleh dlrow"
或者:
实现将字符串中每个单词的字母顺序进行反转,同时保留所有空格:
1. 定义一个函数 `reverse_words_order`,接收一个字符串作为输入。
2. 遍历字符串的每个字符,当遇到空格时,将之前记录的单词进行字母顺序反转,并添加到结果中,同时添加空格;当遇到非空格字符时,将该字符添加到当前单词中。
3. 处理循环结束后最后一个单词。
4. 返回处理后的结果字符串。
代码实现:
def reverse_words_order(input_str):
def reverse_word(word):
return word[::-1]
result = ""
current_word = ""
for char in input_str:
if char == " ":
result += reverse_word(current_word) + " "
current_word = ""
else:
current_word += char
# 处理最后一个单词
result += reverse_word(current_word)
return result
# 测试示例
input_text1 = "Welcome to hogwarts!"
output_text1 = reverse_words_order(input_text1)
print(output_text1) # 输出 "emocleW ot !strawgoh"
3.给定一段包含英文单词的文本,其中每个单词之间使用空格分隔,我们的任务就是消除其中的出现连续重复的单词,返回最终的结果字符串。
示例:
输入:alpha beta beta gamma
,输出:alpha beta gamma