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