python中的大写字母函数
我试着写一个程序,用一个函数,在表达式中的第一个字母加上一个点,使其大写。例如,如果我写python中的大写字母函数,python,Python,我试着写一个程序,用一个函数,在表达式中的第一个字母加上一个点,使其大写。例如,如果我写hello world,结果必须是H.W. 我的计划是: def initials(Hello World): words = input.split(' ') initials_words = [] for word in words: title_case_word = word[0].upper() initials_words_words.a
hello world
,结果必须是H.W.
我的计划是:
def initials(Hello World):
words = input.split(' ')
initials_words = []
for word in words:
title_case_word = word[0].upper()
initials_words_words.append(title_case_word)
output = '. '.join(initials_words)
return (initials_words)
编译器似乎没有发现任何错误,但当我尝试给出一个表达式时,例如:
print(initials(Hello World)
编译器没有给我任何结果。我在第6行尝试运行代码时看到一个错误:initials\u words\u words.append(title\u case\u word)
名称错误:未定义名称“缩写词”
修复后,程序运行正常。尝试将其更改为
首字母缩写词。追加(title\u case\u word)
我在第6行尝试运行代码时看到一个错误:首字母缩写词。追加(title\u case\u word)
名称错误:未定义名称“缩写词”
修复后,程序运行正常。尝试将其更改为首字母缩写词。\u单词。追加(title\u case\u单词)
这将完成以下操作:
def initials(input_text):
return "".join(["%s." % w.upper()[0] for w in input_text.split()])
这可以做到:
def initials(input_text):
return "".join(["%s." % w.upper()[0] for w in input_text.split()])
我发现了几个问题:
- 您需要更改函数签名以获取名为
的参数。因为这是您拆分的input
变量。注意:
也是一个内置函数,因此使用不同的变量名会更好input
- 然后在循环中使用
而不是initial\u words\u words
initial\u words
- 分配
,但不使用它,它可能在循环之外,也应该返回输出
- 不是问题,但返回时不需要
和(
)
def initials(my_input):
words = my_input.split(' ')
initials_words = []
for word in words:
title_case_word = word[0].upper()
initials_words.append(title_case_word + '.')
output = ''.join(initials_words) # or ' '.join(initials_words) if you want a seperator
return output
print(initials('Hello World')) # H.W.
我发现了几个问题:
- 您需要更改函数签名以获取名为
的参数。因为这是您拆分的input
变量。注意:
也是一个内置函数,因此使用不同的变量名会更好input
- 然后在循环中使用
而不是initial\u words\u words
initial\u words
- 分配
,但不使用它,它可能在循环之外,也应该返回输出
- 不是问题,但返回时不需要
和(
)
def initials(my_input):
words = my_input.split(' ')
initials_words = []
for word in words:
title_case_word = word[0].upper()
initials_words.append(title_case_word + '.')
output = ''.join(initials_words) # or ' '.join(initials_words) if you want a seperator
return output
print(initials('Hello World')) # H.W.
您可以使用
w[0].upper()
,因为您不需要将整个字符串大写,只需要第一个字母。str.format
比%
-格式要好一点(但这主要取决于您的偏好)。您可以使用w[0].upper()
因为您不需要整个字符串的大写字母,只需要第一个字母。str.format
也比%
格式好一点(但这主要取决于您的偏好)。