へっぽこびんぼう野郎のnewbie日記

けろけーろ(´・ω・`)!

進捗度が一目でわかるヤツ(いわゆるプログレスバー)作った。……Pythonで……

JavaProgramLesson_1

[ //////////////                                     ] 28%

 

JavaProgramLesson_2

[                                                    ] 0%

 

JapansePeoplesEnglish

[ /////////////////////////////////////////////      ] 91%

 

GunsGermsSteal_1

[                                                    ] 0%

 

GunsGermsSteal_2

[                                                    ] 0%

 

TheSelfishGenes

[                                                    ] 0%

 

AbeShinzo

[                                                    ] 0%

 

AndThenThereWereNone

[                                                    ] 0%

 

TaiwaneseAndJapanseSoul

[                                                    ] 0%

 

TheManInTheHighCastle

[                                                    ] 0%

こういうふうに表示される。

ソースはこんな感じ。

import sys

 

page_all = {

    "0" : {"JavaProgramLesson_1" : [106,372]},

    "1" : {"JavaProgramLesson_2" : [  0,387]},

    "2" : {"JapansePeoplesEnglish" :[176,193]},

    "3" : {"GunsGermsSteal_1" : [0,395]},

    "4" : {"GunsGermsSteal_2" : [0,409]},

    "5" : {"TheSelfisGenes" : [0,530]},

    "6" : {"AbeShinzo" : [0,238]},

    "7" : {"AndThenThereWereNone" : [0,387]},

    "8" : {"TaiwaneseAndJapanseSoul" : [0,297]},

    "9" : {"TheManInTheHighCastle" : [0,423]},

    "10" : {"MathInElementalySchool" : [70,230]},

    "9999" : {"Not_Found" : [0,0]}

}

 

def progress(numorname):

    if (str(numorname).isdigit()):

        return str(numorname)

    else:

        for i in range(10):

            if (numorname == page_all[str(i)].keys()[0]):

                return str(i)

        return "Not_Found"

def indicate(str_i):

    p_page = page_all[str_i].values()[0][0]

    a_page = page_all[str_i].values()[0][1]

    return (p_page * 100  / a_page)

 

def progressbar(perc):

    half = perc / 2

    sys.stdout.write("[ ")

    for i in range(50):

        if (half > 0):

            sys.stdout.write("/")

            half -= 1

        else:

            sys.stdout.write(" ")

    sys.stdout.write(" ] ")

    sys.stdout.write(str(perc) +"%")

 

 

for i in range(10):

    print page_all[str(i)].keys()[0]

    progressbar(indicate(progress(i)))

    print "\n"

オブジェクト指向言語であることを全く活かせていないぼく。

本当は、GUIから、くりっく → 数字入力 →グラフ表示としたかったけど、

なんだかめんどくさそうだったから、このままにしておいた。

そのうち完成させる。

 

そのうち。

 

Javaやる気になれないどうしよう。