Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我如何得到一个程序来打印一个句子中的单词数量和每个单词的顺序_Python_String_Printing_Character - Fatal编程技术网

Python 我如何得到一个程序来打印一个句子中的单词数量和每个单词的顺序

Python 我如何得到一个程序来打印一个句子中的单词数量和每个单词的顺序,python,string,printing,character,Python,String,Printing,Character,我需要打印用户指定的句子中有多少个字符,打印用户指定的句子中有多少个单词,打印每个单词,单词中的字母数,以及单词中的第一个和最后一个字母。可以这样做吗?请阅读Python的字符串文档,它是不言自明的。以下是对不同部分的简短解释和一些评论 我们知道一个句子是由单词组成的,每个单词都是由字母组成的。我们首先要做的是把句子分成几个单词。这个列表中的每个条目都是一个单词,每个单词都以一系列字符的形式存储,我们可以得到每个字符 句子=“这是我的句子” #分句 单词=句子 #使用len()获取单词列表中元素

我需要打印用户指定的句子中有多少个字符,打印用户指定的句子中有多少个单词,打印每个单词,单词中的字母数,以及单词中的第一个和最后一个字母。可以这样做吗?

请阅读Python的字符串文档,它是不言自明的。以下是对不同部分的简短解释和一些评论

我们知道一个句子是由单词组成的,每个单词都是由字母组成的。我们首先要做的是把句子分成几个单词。这个列表中的每个条目都是一个单词,每个单词都以一系列字符的形式存储,我们可以得到每个字符

句子=“这是我的句子”
#分句
单词=句子
#使用len()获取单词列表中元素(单词)的数量
print('给定句子中有{}个单词'。格式(len(words)))
#逐字通读
用文字表示:
#len()再次计算元素数,
#但这次是字符串中的字符
print({}字中有{}个字符。格式(len(word),word))
#python是一种基于0的语言,因为第一个元素的索引为0
#也可以使用负索引在数组中向后移动。
#
#但是,请注意,最后一个元素为-1,倒数第二个元素为-2,
#一开始,当我们知道第二个
#元素从一开始就索引为1,而不是2。
打印('第一个是“{}”,最后一个是“{}”。格式(word[0],word[-1]))

我们不会在堆栈溢出问题上为您做功课。。。但我会让你开始的

您需要的最重要的方法是以下两种方法之一(取决于python的版本):

  • Python3.X-
    输入([prompt])
    ,。。如果prompt参数存在,则会将其写入 不带尾随换行符的标准输出。那么函数呢 从输入中读取一行,将其转换为字符串(剥离 尾随换行符),并返回该值。当读取EOF时,EOF为 提高
  • Python2.X
    原始输入([prompt])
    ,。。。如果提示参数为 现在,它被写入标准输出,没有尾随换行符。 然后,函数从输入中读取一行,将其转换为字符串 (剥离尾随换行符),并返回该换行符。当读取EOF时, 提高了EOFError
你可以像这样使用它们

>>> my_sentance = raw_input("Do you want us to do your homework?\n")
Do you want us to do your homework?
yes
>>> my_sentance
'yes'
如您所见,编写的文本在
my\u sentance
变量中进行了排序

要获得字符串中的字符数,您需要了解字符串实际上只是一个列表!因此,如果您想知道可以使用的字符数:

  • len
    ,。。。返回对象的长度(项目数)。 参数可以是序列(字符串、元组或列表)或映射 (字典)
我会让你知道怎么用它

最后,您需要为字符串使用内置函数:

  • str.split([sep[,maxslit]])
    ,返回 字符串,使用sep作为分隔符字符串。如果给定maxsplit,则在 大多数maxsplit拆分都已完成(因此,列表最多只包含 maxsplit+1个元素)。如果未指定maxsplit或-1,则 对拆分的数量没有限制(所有可能的拆分都已完成)。

我希望您慢慢来,了解下面代码中的内容,并建议您阅读这些参考资料


当然可以做到。到目前为止,您的尝试是什么?def count_letter(word):print(len(word))list=word.split()def main():句子=输入(“请输入您的句子”)count_letter(句子)main()
import re


def count_letter(word):
    """(str) -> int

    Return the number of letters in a word.

    >>> count_letter('cat')
    3
    >>> count_letter('cat1')
    3

    """
    return len(re.findall('[a-zA-Z]', word))


if __name__ == '__main__':
    sentence = input('Please enter your sentence: ')
    words = re.sub("[^\w]", " ",  sentence).split()

    # The number of characters in the sentence.
    print(len(sentence))
    # The number of words in the sentence.
    print(len(words))
    # Print all the words in the sentence, the number of letters, the first
    # and last letter.
    for i in words:
        print(i, count_letter(i), i[0], i[-1])

Please enter your sentence: hello user
10
2
hello 5 h o
user 4 u r