slow-starter

なにをやるにもslow start……。

ロシア語再入門?

いろいろな語学をすごく薄くやるのが好き。
ということで、まぁ、当然身につかない。
とはいえ、ロシア語は格変化!

ロシア語はここ1年、単語学習に終始したので、これからはもうちょっと深く勉強してみよう…。

python_024

fraction function

pythonでは標準ライブラリのfractionsモジュールで分数を扱えるようになるらしい。

>>> from fractions import Fraction
# 英語で分数は「fraction」
>>> a=Fraction(1,3)
>>> a
Fraction(1, 3)
# 「分子を"1"、分母を"3"と指定した。
>>> print(a)
1/3
# 分数になった!
>>> a.numerator
1
# 分子は英語で「numerator」
>>> a.denominator
3
# 分母は英語で「denominator」
>>>

分数の足し算

昨日の記事で紹介したpythonスクリプトをfractions.Fractionに対応させてみた。

import tkinter
from fractions import Fraction
# 約分


def Yaku(event):

    # 分数の計算
    fraction1 = Fraction(int(numerator1.get()), int(denominator1.get()))
    fraction2 = Fraction(int(numerator2.get()), int(denominator2.get()))
    fraction3 = fraction1+fraction2

    # 計算結果を出力
    sLabel = tkinter.Label(text=int(fraction3.numerator))
    bLabel = tkinter.Label(text=int(fraction3.denominator))
    sLabel.place(x=140, y=50)
    bLabel.place(x=140, y=80)


# GUIの作成
root = tkinter.Tk()
root.title("Yakubun Test")
root.geometry("300x200")

numerator1 = tkinter.Entry(width=3)
denominator1 = tkinter.Entry(width=3)
numerator2 = tkinter.Entry(width=3)
denominator2 = tkinter.Entry(width=3)

numerator1.place(x=20, y=50)
denominator1.place(x=20, y=80)
numerator2.place(x=80, y=50)
denominator2.place(x=80, y=80)

pLabel = tkinter.Label(text="+")
eLabel = tkinter.Label(text="=")
pLabel.place(x=64, y=70)
eLabel.place(x=120, y=70)

# ボタンの作成およびイベントの設定
button1 = tkinter.Button(text="Done", width=10)
button1.bind("<Button-1>", Yaku)
button1.place(x=30, y=120)

root.mainloop()

組み込み関数、便利!

python_023

分数の足し算?約分?

子供が学校で、算数の分数の計算を始めた。
pythonでどういう風に表現するのかわからなかった…。
だけど、調べてみたら、案外捻(ひね)り無くGUIで実装している記事が見つかった。

GUIも、ちょっとやってみよう。