已指示我将用户提供的字符串大写,例如:
“我什么时候应该在那里?地址是什么?” >> “我什么时候应该在那里?地址是什么?”
其他说明是:“您必须从头开始编写以下功能。请勿依赖任何其他内置或预先存在的功能 似乎可以为您提供任何此功能。”
我参考了以下文章,但由于缺乏编程语言知识,我难以理解公认的答案。 How to capitalize a string?
此外,此示例仅要求将两个单词中的每个单词的首字母大写,因此不包括“?”之后的大写。或“。”
任何指导表示赞赏。
答案 0 :(得分:0)
从头开始构建。试试看:
s = input()
s = list(s)
if ord(s[0]) >=97 and ord(s[0]) <=122: #if the first character is small
s[0] = chr(ord(s[0]) - 32)
for i in range(0, len(s) - 2):
if s[i] == '?' or s[i] == '!' or s[i] == '.':
if (ord(s[i + 1]) >=97 and ord(s[i + 1]) <=122): #assuming no space after ? . !
s[i+1] = chr(ord(s[i+1]) - 32)
if (ord(s[i + 2]) >=97 and ord(s[i + 2]) <=122): #assuming there is a space after ? . !
s[i+2] = chr(ord(s[i+2]) - 32)
s = ''.join(s)
print(s)
逻辑是,如果第一个字符或? . !
之后的任何字符是小写字母(其ASCII代码在97-122之间),我们将其ASCII代码减少32,因此例如将其转换为大写字母(代码为ASCII,介于65-90之间)。