Mercurial > louis > peeves
view arrays/word_count/wc.py @ 0:20fea762903e
Import some exercises and solutions
author | Louis Opter <kalessin@kalessin.fr> |
---|---|
date | Sat, 29 Jun 2013 19:30:31 -0700 |
parents | |
children |
line wrap: on
line source
#!/usr/bin/env python def wc(buf): word_count = 0 line_count = 0 i = 1 n = len(buf) while i < n and buf[i].isspace(): if buf[i] == "\n": line_count += 1 i += 1 while i < n - 1: if not buf[i - 1].isspace() and buf[i].isspace(): word_count += 1 while i < n - 1 and buf[i].isspace(): if buf[i] == "\n": line_count += 1 i += 1 else: i += 1 if not buf[i].isspace(): word_count += 1 return word_count, line_count s1 = "rhje rhesr jrelskj " s2 = "fjesl\n ffjesl jfes \n\nfjles fls\n \n" s3 = " fjeksl fjkels ff" print("wc({0}) = {1}".format(s1, wc(s1))) print("wc({0}) = {1}".format(s3, wc(s3))) print("wc({0}) = {1}".format(s2.replace("\n", "\\n"), wc(s2)))