【发布时间】:2019-03-31 07:55:44
【问题描述】:
对于我试图在网站上尝试的特定问题,我没有得到所需的输出。问题来了:
假设使用 Caps Lock 键输入了一个单词 意外打开,如果:
要么只包含大写字母;或所有字母,除了 第一个是大写的。在这种情况下,我们应该自动 更改所有字母的大小写。例如,字母的大小写 应该更改格式词“hELLO”、“HTTP”、“z”。
编写一个应用上述规则的程序。如果规则 不能应用,程序应该保持单词不变。
我尝试过使用以下代码,但我不明白为什么它不能正常工作。
import re
word = input()
exp = r'[a-z]+[A-Z]+'
exp2 = r'[A-Z]+'
if bool(re.match(word, exp)) or bool(re.match(word, exp2)):
print(word[0].upper() + word[1:].lower())
else:
print(word)
Input:CAPS
Desired output: Caps
Current output: CAPS
Input:cAPS
Desired output: Caps
Current output: cAPS
Input:cAPSlOCK
Desired output:cAPSlOCK
Current output: cAPSlOCK
【问题讨论】:
-
你的问题被否决了,因为你没有解释你想要你的代码做什么,也没有努力解释你当前的代码。请相应地编辑您的帖子。
-
我根据您添加的问题定义稍微修改了答案中的正则表达式,使得以多个小写字母开头的单词不会被修改。
标签: python regex python-3.x