2013年12月28日土曜日

開発環境

初めてのコンピュータサイエンス(Jennifer CampbellPaul GriesJason MontojoGreg Wilson(著)長尾 高弘(翻訳))の14章(GUI)、14.8(練習問題)、14-4.を解いてみる。

14.8(練習問題)、14-4.

コード(BBEdit)

sample.py

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

import tkinter

window = tkinter.Tk()

# model
dna = tkinter.StringVar()
result = tkinter.StringVar()

# controller
ks = ['A', 'T', 'G', 'C']
def count():
    d = dict.fromkeys(ks, 0)
    print(d)
    print(text.get(0.0, tkinter.END))
    for k in text.get(0.0, tkinter.END):
        if k in ks:
            d[k] += 1
    temp = ''
    for k in ks:
        temp += '{0}の数: {1} '.format(k, d[k])
    result.set(temp)

# view
frame = tkinter.Frame(window)
frame.pack()
text = tkinter.Text(frame)
text.pack()
button = tkinter.Button(frame, text='数える', command=count)
button.pack()
label = tkinter.Label(frame, textvariable=result)
label.pack()

window.mainloop()

コード(BBEdit)

setup.py

"""
This is a setup.py script generated by py2applet

Usage:
    python setup.py py2app
"""

from setuptools import setup

APP = ['sample.py']
DATA_FILES = []
OPTIONS = {'argv_emulation': True,
           'iconfile':'kamimura.icns'}

setup(
    app=APP,
    version='',
    description='',
    author='kamimura',
    url='http://sitekamimura.blogspot.com',
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)

入出力結果(Terminal)

$ python setup.py py2app
…
$

0 コメント:

コメントを投稿