初学者 - 从输入的文本打印总字数,也打印长度

时间:2016-01-29 02:27:22

标签: python

我已经用Python编程了几个星期,我已经获得了一个程序来打印输入文本中的总单词,还打印了第一个打印总数中所有字母的长度。我只学习了for,range,strings,list和normal input / raw_inputs。我尝试过编写一些完全不成功的方法。我可以反弹的任何想法?谢谢!

2 个答案:

答案 0 :(得分:2)

对于字符串的长度和包含的单词数

import re
string = raw_input("Enter string: ")
print(len(string)) #String length
print(len(re.findall(r'\w+', string)) #Count of words

请注意,如果您使用的是Python 3.x,则必须使用input()而不是raw_input()

答案 1 :(得分:1)

制定关于单词的规则。例如,"单词是除空格,制表符,换行符和#34;之外的任何字母。

现在使用for迭代输入。检查每个字母是否是"字符"或者#34;非单词字符"。

保持" in-word / out-of-word"追踪最后一个字母的状态。每当你从单词转换为单词时,根据当前的字母,你已经达到一个新单词的结尾,并且可以在你的计数中添加一个单词。

input_text = "Here is   some  \t\ntext.that.you.might like!"
in_word = False
word_count = 0

for ch in input_text:
    if ch == ' ' or ch == '\t' or ch == '\n':
        # Not a word character
        if in_word:
            in_word = False
            word_count += 1
    else:
        in_word = True

# At end of string, check for one last word
if in_word:
    word_count += 1

print("# words:", word_count)