初めてのPython
初めてPythonのプログラムを書いてみたので、載せてみることにしました。
これから学ぶ人のお役に立てたら幸いです。
- Python環境の説明
- プログラム実行結果
- プログラム解説
プログラム説明
概要
ボタンを押すと中吉などの結果が出る。ただし大吉や大凶には特別なメッセージが出るようにした。
実行結果
起動時の画面
実行結果
プログラム解説
import tkinter as tk #tkと定義する import PIL.Image #画像表示するライブラリを読み込む import PIL.ImageTk import random #乱数をつくるライブラリを読み込む def dispLabel(): #定義する KO.configure(text="") #kujiintが5と6の時以外空白 kujiint=random.randint(0,6) #kujiintは0から6の中からランダムで選ぶ kuji = ["大吉","中吉","小吉","凶","末吉","大凶","大大吉"]#リスト kekka = kuji[kujiint] #kekkaはkujiの中のkujiintからだす mes = "結果は"+kekka+"です" #mesの文字はkekkaによって変わる lbl.configure(text=mes) #mesを表示 otuge(kujiint) #otugeを呼ぶ(kujiintを渡す) dispPhoto(kujiint) #dispPhotoを呼ぶ(kujiintを渡す) def otuge(kujiint): #otugeを定義 otuge2 = ["とてもよい","よい","よくもなく悪くも無い","悪者","しらん","アイス買ってこい","名言を授ける"] #リスト kekka2 = otuge2[kujiint] #kekka2(otuge2からkujiintによって値を選ぶ) otugelbl.configure(text = kekka2) #otugelblを変更する if(kujiint == 5): #kujiintが5(大凶)を出した時 KO.configure(text = "今すぐ板チョコアイスな") #KOに今すぐ板チョコアイスなを表示 if(kujiint == 6): #kujiintが6を出した時 KO.configure(text =" 全ては自分から始まる") #KOに文字を表示 def dispPhoto(kujiint): #定義 if(kujiint == 0): #kujiintが0(大吉)を出した時 path= "omikuji_daikichi.png" #大吉の画像を指定 if(kujiint == 1): path= "omikuji_chukichi.png" #kujiintが1を出した時 if(kujiint == 2): #中吉の画像を指定 path= "omikuji_showkichi.png" if(kujiint == 3): path= "omikuji_kyou.png" if(kujiint == 4): path= "omikuji_suekichi.png" if(kujiint == 5): path= "omikuji_daikyou.png" if(kujiint == 6): path= "omikuji_daidaikichi.png" newImage = PIL.Image.open(path).resize((100,200)) #指定された画像を読み込んでサイズを指定 imageData= PIL.ImageTk.PhotoImage(newImage) #lblに画像を定義 imageLabel.configure(image=imageData) #lblに画像を表示 imageLabel.image=imageData def disptopimage(): #タイトル画像を定義 path = "top.png" #読み込む画像を指定 newImage = PIL.Image.open(path).resize((300,100)) #画像のサイズ決定 imageData= PIL.ImageTk.PhotoImage(newImage) #lblに画像を定義 topimage.configure(image=imageData) #lblに画像を表示 topimage.image=imageData #メイン処理 root= tk.Tk() root.geometry("300x500") #画面大きさ root.title("おみくじ") #画面タイトル topimage = tk.Label() #御神籤画像の表示場所作った lbl = tk.Label(text="") #空白のラベルを定義 btn = tk.Button(text="押してみよ",command = dispLabel) #ボタンを定義して、押された時の処理 otugelbl = tk.Label(text="御告げ") #御告げラベルを定義する KO = tk.Label(text="") #空白のラベルを定義 imageLabel = tk.Label() #画像表示する場所の定義 disptopimage() #タイトル画像読み込み topimage.pack() #タイトル画像表示 lbl.pack() #結果表示 btn.pack() #押して見よ 表示 otugelbl.pack() #御告げラベル表示 KO.pack() #空白表示 imageLabel.pack() #御神籤結果画像 #fdbtn.pack() tk.mainloop()
感想
よくわかんないことがあったけど、画像の出し方がわかった。
また、いらないところもあった。
よりよいものを作っていきたいと思う。