如何将句子的任意部分大写?

2024-09-28 22:52:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Python编程有困难。我必须写一些长句,在句子的随机部分有大写字母。以下是句子:

ülenurme vald. 
ülenurme vald asub tartu maakonnas ja jääb tartu linnast vahetult lõunasse.
ülenurme sai oma nime 17. sajandi alguses rajatud ülenurme mõisalt.
vallas asub ka tartu lennujaam, mille juures tegutseb eesti lennuakadeemia.

我必须把它变成这样:

ÜLENURME VALD. 
Ülenurme vald asub Tartu maakonnas ja jääb Tartu linnast vahetult lõunasse.
Ülenurme sai oma nime 17. sajandi alguses rajatud Ülenurme mõisalt.
Vallas asub Tartu lennujaam, mille juures tegutseb Eesti Lennuakadeemia. 

但问题是怎么做?????我是编程新手,刚开始工作,所以如果有人能帮助我,我会非常感激。你知道吗


Tags: 编程句子jaomaasubtartusaivald
2条回答

这里有一种方法可以完全“随机”,但效率不高:

def randomlyMakeUpperCase(passage, numCharsToUpper):
    for i in range(numCharsToUpper):
        randIndex = random.randint(0, len(passage) - 1)
        passage = passage[:randIndex] + passage[randIndex].upper() + passage[randIndex+1:]
    return passage

你可以这样运行:

passage = "this is a very long string and it goes on and on"
passage = randomlyMakeUpperCase(passage, 10)

它还漏掉了多次检查相同字符的大写字母和没有大写字母的大写字母(如空格)。你知道吗

尽管看一下上面的例子,看起来你想简单的大写一些单词?或者是特定的词?你知道吗

首先,Python有一个名为^{}的方法。你的第一句话都是大写的,所以你可以对那句话做^{}。你知道吗

如果您有一些特定的单词应该总是大写,那么可以将一个变量设置为单词列表,然后拆分字符串,并使用for循环对其进行迭代,检查每个单词是否包含在该变量中。你知道吗

capitalize_bank = ['ülenurme', 'tartu', 'eesti', "lennuakadeemia", "vallas"]

a = "vallas asub ka tartu lennujaam, mille juures tegutseb eesti lennuakadeemia"
a_new = ' '.join([s.capitalize() if s in capitalize_bank else s for s in a.split()])

print(a_new) 

# >> Vallas asub ka Tartu lennujaam, mille juures tegutseb Eesti Lennuakadeemia

相关问题 更多 >