トップページ | Python 標準ドキュメント | 事例集 | アーティクル | リンク集 | ダウンロード | サイトマップ 
468x60サイズバナー・シリーズC Simple Fun and Indented
コンテンツ
はじめに - このサイトを立ち上げるに当って一番の問題はいかにラクしてコ...
お題:1 copy.py - 入力をそのまま出力へコピーするプログラムを作成してください...
お題:2 charcount.py - 入力ファイル内の文字数をカウントして出力するプログラムを作...
お題:3 linecount.py - 入力ファイル内の行数をカウントして出力するプログラムを作成...
お題:4 wordcount.py - 入力ファイル内の単語数をカウントして出力するプログラムを作...
お題:5 count.py - お題2、3、4で作成したcharcount.py、line...
お題:6 detab.py - テキストファイルを読み込み、タブをスペースに展開して出力す...
お題:7 entab.py - お題6の逆、スペースをタブに展開して、出力するプログラムを...
お題:8 compress.py - 入力されるデータを圧縮して出力するプログラムを作成してくだ...
お題:9 expand.py - お題8のcompress.pyで圧縮した結果を入力し、元の...
お題:10 crypt.py - 入力データを暗号化して出力するプログラムを作成してください...
アーティクル
 
Python Powered
Powered by Zope
PyJUG網元衆










お題:4 wordcount.py

入力ファイル内の単語数をカウントして出力するプログラムを作成してくだ さい。入力は全て標準入力、出力は標準出力。単語は1つ以上の文字列で、単語と単語の間は空白(スペースまたはタブ)もしくは改行で区切られているものとします。ハイフネーション(行末がハイフンで終わり続く行頭に単語が続くもの)は今回考慮しません。

VED03370 at nifty.ne.jpさんのお答え

import fileinput

i=0
for l in fileinput.input():
    i=i+len(l.split())
print i

bravo at diana.dti.ne.jpさんのお答え

import sys, string

print len (string.split (sys.stdin.read ()))

fisher at r.hi-fi-net.comさんのお答え

#アルファベット、数字があるとスイッチオン、
#それ以外でスイッチオフ。スイッチオフの時にプラス
import sys

count = 0
pyswitch = "off"
for x in sys.stdin.read():
    if pyswitch = "off":
        if 48 <= ord(x) <= 57 or\
           65 <= ord(x) <= 90 or\
           97 <= ord(x) <= 122:
            pyswitch = "on"
    if pyswitch = "on":
        if ord(x) <= 47 or\
           58 <= ord(x) <= 64 or\
           91 <= ord(x) <= 96 or 123 <= ord(x):
            pyswitch = "off"
            count = count + 1
        if ord(x)
if pyswitch == "on":
    count = count + 1
print count

fisher at r.hi-fi-net.comさんの正規表現使用バージョン

import sys, re

count = 0
pyswitch = "off"
for x in sys.stdin.read():
    if pyswitch == "off":
        if re.match("\w",x):
            pyswitch = "on"
    if pyswitch == "on":
        if not re.match("\w",x):
            pyswitch = "off"
            count = count + 1
if pyswitch == "on":
    count = count + 1
print count

ishimoto at gembook.orgさんのお答え

import sys, re

print len(re.findall(r"\S+", sys.stdin.read()))

印刷用ページ
Copyright © 2001-2012 Python Japan User's Group.

警告当サイトの文書・画像等のコンテンツの著作権は、各コンテンツの作成者、もしくは日本Pythonユーザ会に帰属します。
 また、日本Pythonユーザ会はサイト内のコンテンツに他のプログラミング言語からの乗り換えを誘発する恐れのある表現が多々あることを認め、予めお詫び申し上げます。