セット4(前半)

セット4(前半)です。

 

(1)ファイルを読み込み,単語をキーとして,品詞,活用形,基本形のタプルのリストを値とするマッピング型に格納せよ.プログラムの動作を確認するため,標準入力から読み込んだ単語の語彙項目を閲覧するプログラムを実装

#!usr/bin/env python3
# -*- coding: utf-8 -*-
import re
import sys

dic = {}


for i in open("inflection.table.txt","r"):
    i=i.split("|")
    key=i[0]
    word=(i[1],i[3],i[6])
    dic.setdefault(key,).append(word)
word = ''
if(word != '0'):
    word = input('単語入力')
    print("入力="+word)
    if(word in dic):
        print(dic[word])
    else:
        print("登録されてません")

Pythonでマッピング型としてはdictというものがあり、それを使った。

setdefaultで指定したkeyが無い場合に、keyを辞書に追加することができ、dic.setdefault(key,).append(word)でどんどん追加していくことができます。

inputで入力を取得できます。

 

続きを読む

かたわ少女 うぶんつ実行

かたわ少女の日本語版がリリースされたと聞いてさっそくダウンロードしてみました。

linux環境でもプレイできる数少ないゲームですね。

 

ゲームの概要としてもすごく興味があって、昔に一度英語版をやっていたのですが、途中で挫折しましたww

 

ダウンロードして普通に解凍して、シェルファイル(.sh)を実行したらいいだけみたいなこと書いている方がいましたが、実行してもゲーム開始されず。。。

 

ren'pyをインストールしてみたらshコマンドで普通に実行出来ました。

 

ren'py...「恋愛ゲーム」+「python」から来てるそうです。すごい。。。

セット2

セット2です。

 

(1)「拡散希望」という文字列を含むツイートを抽出

#!usr/bin/env python3
# -*- coding: utf-8 -*-

import re
tweet = re.compile("<text>[\s\S]*?</text>")
kakusan=re.compile("拡散希望")

f = open('tweets.txt',"r")
data = f.read()  # ファイル終端まで全て読んだデータを返す

tm=tweet.findall(data)
for i in range(len(tm)):
    m=re.match("<text>([\s\S]*?)</text>",tm[i])
    tm[i]=m.group(1)
    tm[i]=tm[i].strip()
    km=kakusan.search(tm[i])
    if(km):
        print(tm[i])            
        print()
f.close()

compileで正規表現のパターンをコンパイルします。

続きを読む

100本ノック セット1

100本ノックを課題としてやったのでそのメモです。

東北大学乾・岡崎研究室のサイトで公開されている、言語処理100本ノックのメモです。問題の詳細はサイトをご覧ください。

第1セット

(1) 行数をカウント。

#!usr/bin/env python3
# -*- coding: utf-8 -*-

i = sum(1 for line in open('address.txt'))
print(i)

for line in open('address.txt')で勝手に一行ずつ読んでくれます。

コマンド wc -l address.txt

続きを読む