我想创建一个接受短文本并以所谓的Jaden Case模式返回的函数,其中每个单词的首字母均为大写(我可以找到的最佳参考)。
例如"Hi, I'm twenty years old"应该返回"Hi I'm Twenty Years Old"。
我已经尝试过自己解决此问题,但是撇号后的字母变成大写字母,而实际上不应该。
我的尝试:
def toJadenCase(string):
for letter in string:
if letter == "\'" :
letter[+1].lowercase()
else:
return string.title()
return string
Run Code Online (Sandbox Code Playgroud) 这是卡塔的挑战。该函数应在字符串中返回最大数量的后续元音。
我自己完成此程序后,发现了这个非常实用的解决方案。
有人可以逐步解释代码吗?我想在这里彻底理解联接位和拆分位是如何相互完成的。
def solve(string):
return max(map(len, ''.join(i if i in 'aeiou' else ' ' for i in string).split()))
Run Code Online (Sandbox Code Playgroud) 我在 Mac 上使用 VSCode 作为 Haskell 的 IDE。
\n这个简单的功能
\ntoLowerSt :: String -> String\ntoLowerSt = map toLower\nRun Code Online (Sandbox Code Playgroud)\n返回以下错误:
\nMain.hs:92:17: error:\n \xe2\x80\xa2 Variable not in scope: toLower :: Char -> Char\n \xe2\x80\xa2 Perhaps you meant \xe2\x80\x98toLowerSt\xe2\x80\x99 (line 92)\n |\n92 | toLowerSt = map toLower\n | ^^^^^^^\nFailed, no modules loaded.\nRun Code Online (Sandbox Code Playgroud)\n我很难理解这里的实际问题是什么。字符串被映射到字符,但它向我抛出了这个错误。
\n