ลองประกาศตัวแปร

y=3 # ตัวแปร y เก็บตัวเลข 3
x=4 # ตัวแปร x เก็บตัวเลข 4
z=”sompoch” #ตัวแปร z เก็บข้อความคำว่า “sompoch”
แล้วลองรันโปรแกรมดูโดย กด cmd ที่ address bar ของ folder ที่เก็บไฟล์คือ d:\python
y=3 # ตัวแปร y เก็บตัวเลข 3
x=4 # ตัวแปร x เก็บตัวเลข 4
z=”sompoch” #ตัวแปร z เก็บข้อความคำว่า “sompoch”
if y>x :# ถ้า y มากกว่า x ให้ทำหลังเครื่องหมาย :
    print(“y มากกว่า x”) #แสดงข้อความใน print
else :  # ถ้าไม่ตรงเงื่อนไขด้านบน ให้เข้าเงื่อนไขนี้ ให้ทำหลังเครื่องหมาย :

    print(“x มากกว่า y”) #แสดงข้อความใน print

————————————————————————————

#การสร้าง GUI บน python เริ่มจาก import library

'''
y=3 # ตัวแปร y เก็บตัวเลข 3
x=3 # ตัวแปร x เก็บตัวเลข 4
z="sompoch" #ตัวแปร z เก็บข้อความคำว่า "sompoch"

if y>x :# ถ้า y มากกว่า x ให้ทำหลังเครื่องหมาย :
    print("y มากกว่า x") #แสดงข้อความใน print
elif y==x: #ถ้า y==x ให้ พิมพ์ y กับ x เท่ากัน   
     print("y กับ x เท่ากัน") 
else :  # ถ้าไม่ตรงเงื่อนไขด้านบน ให้เข้าเงื่อนไขนี้ ให้ทำหลัง
    เครื่องหมาย : 
    print("x มากกว่า y") #แสดงข้อความใน print
'''
#การสร้าง GUI บน python
# 1 เริ่มจาก import library
from tkinter import *

# 2 สร้างชื่อฟอร์มของ GUI เพื่อใช้เรียกและแสดงผล เป็นตัวแปร
app=Tk() #การประกาศ app ให้เรียกใช้ form gui จากtkinter
app.title("โปรแกรม สมโภชน์") #การแสดงผล title gui
# 3 กำหนดขนาดแอพว่าจะแสดงผล กว้าง x สูงเท่าไหรบนหน้าจอ
app.geometry("300x500") #กว้าง 300 สูง 500 pixel
LabelHeight=Label(app,text="ส่วนสูง:") #สรา้ง label ชือ LabelHeight 
LabelHeight.grid(column=0,row=0) #สั่งให้แสดงผลบน GU ที่ col0 row0
#4 แสดงผล gui หรือแสดงหน้าแอพของเรา
app.mainloop() # เรียกโชว์หน้าจอ GUI ผ่านคำสั่ง mainloop()




จะได้ Lay out ดังนี้ (อธิบาย column และ row)

สร้าง input เพื่อมาเก็บค่า height ชื่อ InputHeight (ดูที่ #5)

'''
y=3 # ตัวแปร y เก็บตัวเลข 3
x=3 # ตัวแปร x เก็บตัวเลข 4
z="sompoch" #ตัวแปร z เก็บข้อความคำว่า "sompoch"

if y>x :# ถ้า y มากกว่า x ให้ทำหลังเครื่องหมาย :
    print("y มากกว่า x") #แสดงข้อความใน print
elif y==x: #ถ้า y==x ให้ พิมพ์ y กับ x เท่ากัน   
     print("y กับ x เท่ากัน") 
else :  # ถ้าไม่ตรงเงื่อนไขด้านบน ให้เข้าเงื่อนไขนี้ ให้ทำหลัง
    เครื่องหมาย : 
    print("x มากกว่า y") #แสดงข้อความใน print
'''
#การสร้าง GUI บน python
# 1 เริ่มจาก import library
from tkinter import *
# 2 สร้างชื่อฟอร์มของ GUI เพื่อใช้เรียกและแสดงผล เป็นตัวแปร
app=Tk() #การประกาศ app ให้เรียกใช้ form gui จากtkinter
app.title("โปรแกรม สมโภชน์") #การแสดงผล title gui
# 3 กำหนดขนาดแอพว่าจะแสดงผล กว้าง x สูงเท่าไหรบนหน้าจอ
app.geometry("300x500") #กว้าง 300 สูง 500 pixel
LabelHeight=Label(app,text="ส่วนสูง:") #สรา้ง label ชือ LabelHeight 
LabelHeight.grid(column=0,row=0) #สั่งให้แสดงผลบน GUI ที่ col0 row0
#5 สร้าง Input เพื่อรับค่าจากการกรอกของ user
InputHeight=Entry(app,width=30) # ประกาศตัวแปรชื่อ InputHeight 
#เป็นรับค่า Entry และเก็บ value หรือข้อความ (ตัวหนังสือ ตัวเลข) 30 ตัวอักษร
InputHeight.grid(column=1,row=0)

#8 จะสร้าง function เมื่อกดปุ่ม ButtonCalculate ให้ LabelSummary ไปดึงค่าจาก
#InputHeight ที่ user กรอกข้อมูลได้ มาแสดง
def calcualte_summary():
    LabelSummary['text']=InputHeight.get() #.get() รับค่าการกรอก 
    #['text'] หมายถึงให้เปลี่ยนข้อความเดิม เป็นสิ่งที่กรอกใน InputHeight
#ให้ไปเพิ่ม command ใน #6 ส่วนของ ButtonCalculate หลัง text="คำนวน"
#เพิ่ม command=calcualte_summary โดยเรียกใช้ calcualte_summary()

#6 สร้างปุ่มกดเพื่อกดคำนวน
ButtonCalculate=Button(app,text="คำนวน",command=calcualte_summary) #สร้างปุ่มกดบน gui app 
#ตั้งชื่อว่า ButtonCalculate แล้วให้แสดงคำว่า คำนวน
ButtonCalculate.grid(column=1,row=1)

# 7 จะทดสอบ input ที่รับค่าส่วนสูง (InputHeight) โดยสร้าง Label มาแสดงผล
#เมื่อกดปุ่ม Button
LabelSummary=Label(app,text="กรอก:")
LabelSummary.grid(column=1,row=2)

#4 แสดงผล gui หรือแสดงหน้าแอพของเรา
app.mainloop() # เรียกโชว์หน้าจอ GUI ผ่านคำสั่ง mainloop()




สร้าง input รับค่าน้ำหนัก โคดทั้งหมดด้านล่าง

#การสร้าง GUI บน python
# 1 เริ่มจาก import library
from tkinter import *
# 2 สร้างชื่อฟอร์มของ GUI เพื่อใช้เรียกและแสดงผล เป็นตัวแปร
app=Tk() #การประกาศ app ให้เรียกใช้ form gui จากtkinter
app.title("โปรแกรม สมโภชน์") #การแสดงผล title gui
# 3 กำหนดขนาดแอพว่าจะแสดงผล กว้าง x สูงเท่าไหรบนหน้าจอ
app.geometry("300x500") #กว้าง 300 สูง 500 pixel
LabelHeight=Label(app,text="ส่วนสูง:") #สรา้ง label ชือ LabelHeight 
LabelHeight.grid(column=0,row=0) #สั่งให้แสดงผลบน GUI ที่ col0 row0
#5 สร้าง Input เพื่อรับค่าจากการกรอกของ user
InputHeight=Entry(app,width=30) # ประกาศตัวแปรชื่อ InputHeight 
#เป็นรับค่า Entry และเก็บ value หรือข้อความ (ตัวหนังสือ ตัวเลข) 30 ตัวอักษร
InputHeight.grid(column=1,row=0)

#9 สร้าง Label เก็บค่าน้ำหนัก 
LabelWeight=Label(app,text="น้ำหนัก")
LabelWeight.grid(column=0,row=1)
#10 สร้าง input เพื่อเก็บค่าน้ำหนัก
InputWeight=Entry(app,width=30)
InputWeight.grid(column=1,row=1)

#8 จะสร้าง function เมื่อกดปุ่ม ButtonCalculate ให้ LabelSummary ไปดึงค่าจาก
#InputHeight ที่ user กรอกข้อมูลได้ มาแสดง
def calcualte_summary():
    LabelSummary['text']=InputHeight.get() #.get() รับค่าการกรอก 
    #['text'] หมายถึงให้เปลี่ยนข้อความเดิม เป็นสิ่งที่กรอกใน InputHeight
#ให้ไปเพิ่ม command ใน #6 ส่วนของ ButtonCalculate หลัง text="คำนวน"
#เพิ่ม command=calcualte_summary โดยเรียกใช้ calcualte_summary()

#6 สร้างปุ่มกดเพื่อกดคำนวน
ButtonCalculate=Button(app,text="คำนวน",command=calcualte_summary) #สร้างปุ่มกดบน gui app 
#ตั้งชื่อว่า ButtonCalculate แล้วให้แสดงคำว่า คำนวน
ButtonCalculate.grid(column=1,row=2)

# 7 จะทดสอบ input ที่รับค่าส่วนสูง (InputHeight) โดยสร้าง Label มาแสดงผล
#เมื่อกดปุ่ม Button
LabelSummary=Label(app,text="กรอก:")
LabelSummary.grid(column=1,row=3)

#4 แสดงผล gui หรือแสดงหน้าแอพของเรา
app.mainloop() # เรียกโชว์หน้าจอ GUI ผ่านคำสั่ง mainloop()




ลองให้กดปุ่มแล้วเอา ส่วนสูง+น้ำหนัก แล้วแสดงผลตรง LabelSummary

#การสร้าง GUI บน python
# 1 เริ่มจาก import library
from tkinter import *
# 2 สร้างชื่อฟอร์มของ GUI เพื่อใช้เรียกและแสดงผล เป็นตัวแปร
app=Tk() #การประกาศ app ให้เรียกใช้ form gui จากtkinter
app.title("โปรแกรม สมโภชน์") #การแสดงผล title gui
# 3 กำหนดขนาดแอพว่าจะแสดงผล กว้าง x สูงเท่าไหรบนหน้าจอ
app.geometry("300x500") #กว้าง 300 สูง 500 pixel
LabelHeight=Label(app,text="ส่วนสูง:") #สรา้ง label ชือ LabelHeight 
LabelHeight.grid(column=0,row=0) #สั่งให้แสดงผลบน GUI ที่ col0 row0
#5 สร้าง Input เพื่อรับค่าจากการกรอกของ user
InputHeight=Entry(app,width=30) # ประกาศตัวแปรชื่อ InputHeight 
#เป็นรับค่า Entry และเก็บ value หรือข้อความ (ตัวหนังสือ ตัวเลข) 30 ตัวอักษร
InputHeight.grid(column=1,row=0)

#9 สร้าง Label เก็บค่าน้ำหนัก 
LabelWeight=Label(app,text="น้ำหนัก")
LabelWeight.grid(column=0,row=1)
#10 สร้าง input เพื่อเก็บค่าน้ำหนัก
InputWeight=Entry(app,width=30)
InputWeight.grid(column=1,row=1)

#8 จะสร้าง function เมื่อกดปุ่ม ButtonCalculate ให้ LabelSummary ไปดึงค่าจาก
#InputHeight ที่ user กรอกข้อมูลได้ มาแสดง
def calcualte_summary():
    LabelSummary['text']=int(InputHeight.get())+int(InputWeight.get()) #.get() รับค่าการกรอก 
    #['text'] หมายถึงให้เปลี่ยนข้อความเดิม เป็นสิ่งที่กรอกใน InputHeight
#ให้ไปเพิ่ม command ใน #6 ส่วนของ ButtonCalculate หลัง text="คำนวน"
#เพิ่ม command=calcualte_summary โดยเรียกใช้ calcualte_summary()

#6 สร้างปุ่มกดเพื่อกดคำนวน
ButtonCalculate=Button(app,text="คำนวน",command=calcualte_summary) #สร้างปุ่มกดบน gui app 
#ตั้งชื่อว่า ButtonCalculate แล้วให้แสดงคำว่า คำนวน
ButtonCalculate.grid(column=1,row=2)

# 7 จะทดสอบ input ที่รับค่าส่วนสูง (InputHeight) โดยสร้าง Label มาแสดงผล
#เมื่อกดปุ่ม Button
LabelSummary=Label(app,text="กรอก:")
LabelSummary.grid(column=1,row=3)

#4 แสดงผล gui หรือแสดงหน้าแอพของเรา
app.mainloop() # เรียกโชว์หน้าจอ GUI ผ่านคำสั่ง mainloop()




คำนวน BMI

#การสร้าง GUI บน python
# 1 เริ่มจาก import library
from tkinter import *
# 2 สร้างชื่อฟอร์มของ GUI เพื่อใช้เรียกและแสดงผล เป็นตัวแปร
app=Tk() #การประกาศ app ให้เรียกใช้ form gui จากtkinter
app.title("โปรแกรม สมโภชน์") #การแสดงผล title gui
# 3 กำหนดขนาดแอพว่าจะแสดงผล กว้าง x สูงเท่าไหรบนหน้าจอ
app.geometry("300x500") #กว้าง 300 สูง 500 pixel
LabelHeight=Label(app,text="ส่วนสูง:") #สรา้ง label ชือ LabelHeight 
LabelHeight.grid(column=0,row=0) #สั่งให้แสดงผลบน GUI ที่ col0 row0
#5 สร้าง Input เพื่อรับค่าจากการกรอกของ user
InputHeight=Entry(app,width=30) # ประกาศตัวแปรชื่อ InputHeight 
#เป็นรับค่า Entry และเก็บ value หรือข้อความ (ตัวหนังสือ ตัวเลข) 30 ตัวอักษร
InputHeight.grid(column=1,row=0)

#9 สร้าง Label เก็บค่าน้ำหนัก 
LabelWeight=Label(app,text="น้ำหนัก")
LabelWeight.grid(column=0,row=1)
#10 สร้าง input เพื่อเก็บค่าน้ำหนัก
InputWeight=Entry(app,width=30)
InputWeight.grid(column=1,row=1)

#8 จะสร้าง function เมื่อกดปุ่ม ButtonCalculate ให้ LabelSummary ไปดึงค่าจาก
#InputHeight ที่ user กรอกข้อมูลได้ มาแสดง

def calcualte_summary():
    #LabelSummary['text']=int(InputHeight.get())+int(InputWeight.get()) #.get() รับค่าการกรอก 
    #['text'] หมายถึงให้เปลี่ยนข้อความเดิม เป็นสิ่งที่กรอกใน InputHeight
#ให้ไปเพิ่ม command ใน #6 ส่วนของ ButtonCalculate หลัง text="คำนวน"
#เพิ่ม command=calcualte_summary โดยเรียกใช้ calcualte_summary()
#11 แก้ไขโค้ดในส่วนของ calcualte_summary เพื่อคำนวน BMI
    totalHeightM=float(InputHeight.get())/100 #แปลงค่า สส.ที่รับมาให้เป็นเมตร
    #นน. หาร สส.ยกกำลัง 2 ==>นน./สส.*สส. ,นน./สส**2 , นน./pow(สส)2
    totalbmi=float(InputWeight.get())/(totalHeightM*totalHeightM)
#13 Load รูปภาพมาแสดงผล
    LabelImage=Label(app) #สร้าง Label ว่างๆ เอาไว้แสดงภาพ
    LabelImage.grid(column=1,row=4) #กำหนดวางไว้ col1 row4 ล่าง LabelSummary
    #โหลดภาพจากคลังภาพ
    images={
    “ผอมเกินไป”:PhotoImage(file=”level1.jpg”),
    “เหมาะสม”:PhotoImage(file=”level2.jpg”),
    “เริ่มอ้วน”:PhotoImage(file=”level3.jpg”),
    “อ้วน”:PhotoImage(file=”level4.jpg”),
    “อ้วนมาก”:PhotoImage(file=”level5.jpg”)
    }
  
#12 การเทียบค่า ว่าถ้าได้เท่านี้จะเป็น อันนี้
    if totalbmi < 18.5 :
        LabelSummary['text']="BMI:"+str(round(totalbmi,2))+" ผอมเกินไป"
    elif totalbmi>= 18.5 and totalbmi<=25.0: 
        #ถ้า totalbmiมีค่าเริ่มต้นระหว่าง 18.5 และ  totalbmi สูงสุดไม่เกิน 25.0
        LabelSummary['text']="BMI:"+str(round(totalbmi,2))+" เหมาะสม"
    elif totalbmi>= 25.0 and totalbmi<=30.0: 
        LabelSummary['text']="BMI:"+str(round(totalbmi,2))+" เริ่มอ้วน"
    elif totalbmi>= 30.0 and totalbmi<=35.0: 
        LabelSummary['text']="BMI:"+str(round(totalbmi,2))+" อ้วน"
    elif totalbmi>35.0: 
        LabelSummary['text']="BMI:"+str(round(totalbmi,2))+" อ้วนมาก"
    #LabelSummary['text']=round(totalbmi,2) #คำส่ง round(ตัวแปร,จำนวนทศนิยมที่แสดง)
#6 สร้างปุ่มกดเพื่อกดคำนวน
ButtonCalculate=Button(app,text="คำนวน",command=calcualte_summary) #สร้างปุ่มกดบน gui app 
#ตั้งชื่อว่า ButtonCalculate แล้วให้แสดงคำว่า คำนวน
ButtonCalculate.grid(column=1,row=2)

# 7 จะทดสอบ input ที่รับค่าส่วนสูง (InputHeight) โดยสร้าง Label มาแสดงผล
#เมื่อกดปุ่ม Button
LabelSummary=Label(app,text="กรอก:")
LabelSummary.grid(column=1,row=3)

#4 แสดงผล gui หรือแสดงหน้าแอพของเรา
app.mainloop() # เรียกโชว์หน้าจอ GUI ผ่านคำสั่ง mainloop()




code ทั้งหมด

#การสร้าง GUI บน python
# 1 เริ่มจาก import library
from tkinter import *
from PIL import Image, ImageTk
# 2 สร้างชื่อฟอร์มของ GUI เพื่อใช้เรียกและแสดงผล เป็นตัวแปร
app=Tk() #การประกาศ app ให้เรียกใช้ form gui จากtkinter
app.title("โปรแกรม สมโภชน์") #การแสดงผล title gui
# 3 กำหนดขนาดแอพว่าจะแสดงผล กว้าง x สูงเท่าไหรบนหน้าจอ
app.geometry("300x500") #กว้าง 300 สูง 500 pixel
LabelHeight=Label(app,text="ส่วนสูง:") #สรา้ง label ชือ LabelHeight 
LabelHeight.grid(column=0,row=0) #สั่งให้แสดงผลบน GUI ที่ col0 row0
#5 สร้าง Input เพื่อรับค่าจากการกรอกของ user
InputHeight=Entry(app,width=30) # ประกาศตัวแปรชื่อ InputHeight 
#เป็นรับค่า Entry และเก็บ value หรือข้อความ (ตัวหนังสือ ตัวเลข) 30 ตัวอักษร
InputHeight.grid(column=1,row=0)

#9 สร้าง Label เก็บค่าน้ำหนัก 
LabelWeight=Label(app,text="น้ำหนัก")
LabelWeight.grid(column=0,row=1)
#10 สร้าง input เพื่อเก็บค่าน้ำหนัก
InputWeight=Entry(app,width=30)
InputWeight.grid(column=1,row=1)

#8 จะสร้าง function เมื่อกดปุ่ม ButtonCalculate ให้ LabelSummary ไปดึงค่าจาก
#InputHeight ที่ user กรอกข้อมูลได้ มาแสดง

# 8 สร้างฟังก์ชันเมื่อกดปุ่ม ButtonCalculate
def calcualte_summary():
    try:
        # แปลงค่าที่ผู้ใช้กรอกและคำนวณ BMI
        totalHeightM = float(InputHeight.get()) / 100  # แปลงส่วนสูงเป็นเมตร
        totalbmi = float(InputWeight.get()) / (totalHeightM * totalHeightM)  # คำนวณ BMI

        # โหลดรูปภาพตามผลลัพธ์ BMI
        images = {
            "ผอมเกินไป": ImageTk.PhotoImage(Image.open("level1.png")),
            "เหมาะสม": ImageTk.PhotoImage(Image.open("level1.png")),
            "เริ่มอ้วน": ImageTk.PhotoImage(Image.open("level1.png")),
            "อ้วน": ImageTk.PhotoImage(Image.open("level1.png")),
            "อ้วนมาก": ImageTk.PhotoImage(Image.open("level1.png")),
        }

        # เปรียบเทียบค่า BMI และแสดงผล
        if totalbmi < 18.5:
            LabelSummary['text'] = f"BMI: {round(totalbmi, 2)} ผอมเกินไป"
            LabelImage['image'] = images["ผอมเกินไป"]
        elif 18.5 <= totalbmi <= 25.0:
            LabelSummary['text'] = f"BMI: {round(totalbmi, 2)} เหมาะสม"
            LabelImage['image'] = images["เหมาะสม"]
        elif 25.0 < totalbmi <= 30.0:
            LabelSummary['text'] = f"BMI: {round(totalbmi, 2)} เริ่มอ้วน"
            LabelImage['image'] = images["เริ่มอ้วน"]
        elif 30.0 < totalbmi <= 35.0:
            LabelSummary['text'] = f"BMI: {round(totalbmi, 2)} อ้วน"
            LabelImage['image'] = images["อ้วน"]
        elif totalbmi > 35.0:
            LabelSummary['text'] = f"BMI: {round(totalbmi, 2)} อ้วนมาก"
            LabelImage['image'] = images["อ้วนมาก"]
    except Exception as e:
        # กรณีเกิดข้อผิดพลาด เช่น ใส่ข้อมูลไม่ถูกต้อง
        LabelSummary['text'] = "ข้อผิดพลาด: กรุณากรอกข้อมูลให้ถูกต้อง"

# เพิ่ม Label สำหรับแสดงภาพใน GUI
LabelImage = Label(app,text="image...")  # สร้าง Label ว่าง ๆ เพื่อแสดงภาพ
LabelImage.grid(column=1, row=5)  # กำหนดตำแหน่งให้ภาพ
#6 สร้างปุ่มกดเพื่อกดคำนวน
ButtonCalculate=Button(app,text="คำนวน",command=calcualte_summary) #สร้างปุ่มกดบน gui app 
#ตั้งชื่อว่า ButtonCalculate แล้วให้แสดงคำว่า คำนวน
ButtonCalculate.grid(column=1,row=2)

# 7 จะทดสอบ input ที่รับค่าส่วนสูง (InputHeight) โดยสร้าง Label มาแสดงผล
#เมื่อกดปุ่ม Button
LabelSummary=Label(app,text="กรอก:")
LabelSummary.grid(column=1,row=3)

#4 แสดงผล gui หรือแสดงหน้าแอพของเรา
app.mainloop() # เรียกโชว์หน้าจอ GUI ผ่านคำสั่ง mainloop()




 

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.