使用 python 中的查找
using find in python
python 的新手,我的作业要求用户输入,然后查找并打印句子中每个单词的第一个字母
到目前为止我只有
phrase = raw_input("Please enter a sentence of 3 or 4 words: ")
^ 我只有这些。所以说用户输入短语 "hey how are you" 我应该找到并打印每个单词的第一个字母,这样它就会打印 "hhay"
如果它是程序员键入的字符串,但用户输入数据时不知道,我知道如何索引。
以下是您可以采取的步骤的粗略概述。由于这是一项作业,我将把它们实际组装成一个工作程序由你决定。
raw_input
将生成一个字符串。
- 如果你有两个字符串,一个在
foo
中,一个在bar
中,那么你可以将string.split
调用为foo.split(bar)
,结果将是由分隔符 bar
拆分 foo
的内容得到的字符串列表。例如,'a b c'.split(' ') == ['a', 'b', 'c']
.
- 您可以用方括号对字符串进行切片以从中检索特定字符,从最左边的位置从零开始计数。例如,
'abcd'[0] == 'a'
.
- 如果您有一个字符串
foo
和一个字符串列表 bar
,那么您可以将 string.join
调用为 foo.join(bar)
以生成单个字符串的元素foo
与 bar
粘在一起。例如,'x'.join(['a', 'b', 'c']) == 'axbxc'
.
- 您可以
print
构造输出。
这当然只是您可以采用的众多方法中的一种。
这完成了 Ming 在一行中所说的所有内容。
看了他的解释就可以很好的理解这段代码了。
phrase = raw_input("Please enter a sentence of 3 or 4 words: ")
output = ''.join([x[0] for x in phrase.split()])
print output
与评论相关的更新(仅考虑前 3 个词):
output = ''.join([x[0] for x in phrase.split()])[:3]
忽略最后一个词(总词数无关紧要)
output = ''.join([x[0] for x in phrase.split()])[:-1]
回答你的问题"For the next one I have to join the first letters of only the first 3 words and ignore the 4th word. How do I do that?"
output = ''.join([x[0] for x in phrase.split()[0:3]])
如果它是所有单词的第一个字符但最后一个字符则使用:
output = ''.join([x[0] for x in phrase.split()[0:len(phrase.split()) - 1]])
python 的新手,我的作业要求用户输入,然后查找并打印句子中每个单词的第一个字母
到目前为止我只有
phrase = raw_input("Please enter a sentence of 3 or 4 words: ")
^ 我只有这些。所以说用户输入短语 "hey how are you" 我应该找到并打印每个单词的第一个字母,这样它就会打印 "hhay"
如果它是程序员键入的字符串,但用户输入数据时不知道,我知道如何索引。
以下是您可以采取的步骤的粗略概述。由于这是一项作业,我将把它们实际组装成一个工作程序由你决定。
raw_input
将生成一个字符串。- 如果你有两个字符串,一个在
foo
中,一个在bar
中,那么你可以将string.split
调用为foo.split(bar)
,结果将是由分隔符bar
拆分foo
的内容得到的字符串列表。例如,'a b c'.split(' ') == ['a', 'b', 'c']
. - 您可以用方括号对字符串进行切片以从中检索特定字符,从最左边的位置从零开始计数。例如,
'abcd'[0] == 'a'
. - 如果您有一个字符串
foo
和一个字符串列表bar
,那么您可以将string.join
调用为foo.join(bar)
以生成单个字符串的元素foo
与bar
粘在一起。例如,'x'.join(['a', 'b', 'c']) == 'axbxc'
. - 您可以
print
构造输出。
这当然只是您可以采用的众多方法中的一种。
这完成了 Ming 在一行中所说的所有内容。 看了他的解释就可以很好的理解这段代码了。
phrase = raw_input("Please enter a sentence of 3 or 4 words: ")
output = ''.join([x[0] for x in phrase.split()])
print output
与评论相关的更新(仅考虑前 3 个词):
output = ''.join([x[0] for x in phrase.split()])[:3]
忽略最后一个词(总词数无关紧要)
output = ''.join([x[0] for x in phrase.split()])[:-1]
回答你的问题"For the next one I have to join the first letters of only the first 3 words and ignore the 4th word. How do I do that?"
output = ''.join([x[0] for x in phrase.split()[0:3]])
如果它是所有单词的第一个字符但最后一个字符则使用:
output = ''.join([x[0] for x in phrase.split()[0:len(phrase.split()) - 1]])