每日一题4.23:

给定一段英文文本(单词间都是空格分隔),请编写一个函数,将每个单词的首字母转成大写。

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


  • 11
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值