programming : app develp with Python Day 2

programming : app develp with Python Day 2

  1. เอกสารประกอบการสอน python day2
  2. เปิด Visual Studio code ขึ้นมา
  3. แล้วเลือก file เลือก open folder เลือกหา c:\myapp แล้วเลือก open
  4. กด newfile แล้วพิมพ์ calgrtade.py
  5. เขียนโค้ดรับค่าจากคีย์บอร์ด
    score=input("กรอกคะแนน:") #รับค่าจากคีย์บอร์ดโดยขึ้นว่าให้กรอกคะแนน: 
    
  6. แก้ไขโค้ดให้รับค่า score เป็น int และเข้า loop ตรวจสอบ
    score=int(input("กรอกคะแนน:")) #รับค่าจากคีย์บอร์ดโดยขึ้นว่าให้กรอกคะแนน: 
    if score>=80 : 
        print("A")
  7.  ทำการแก้ไขโค้ด check คะแนนแต่ละช่วงใช้ elif else เข้ามาช่วย ได้โค้ดทั้งหมด
    score=int(input("กรอกคะแนน:")) #รับค่าจากคีย์บอร์ดโดยขึ้นว่าให้กรอกคะแนน: 
    if score>=80 : 
        print("A")
    elif score>=70 : 
        print("B")
    elif score>=60 : 
        print("C")
    elif score>=50 : 
        print("D")
    else :
        print("F")
    
    
  8. สร้างไฟล์ใหม่ กด newfile แล้วตั้งชื่อไฟล์ randomlunch.py
  9. เขียนโค้ด random อาหารกลางวัน
    import random
    foods=["ข้าวผัด","ข้าวขาหมู","ราดหน้า","ผ้ดไทย","ข้าวหมกไก่","ส้มตำ"]
    print(random.choice(foods))
  10.  สร้างไฟล์ใหม่ขึ้นมาตั้งชื่อ qrcode.py==>แก้ชื่อไฟล์เป็นgenqrcode.pyแทนไม่งั้นมันerrorเพราะชื่อเดียวกับreserveword
    ให้เปิดterminal หรือ cmd ขึ้นมาแล้วเรียกใช้ library ของ python เพื่อใช้ qrcode โดยพิมพ์

    pip install qrcode[pil]
    

  11. ให้แก้ไข code ใน qrcode.py
    # pip install qrcode[pil]
    import qrcode
    
    qr = qrcode.make("url-link")
    qr.save("qrcode.png")
    

    ใครติดปัญหาใช้ pip ไม่ได้ แจ้ง error ว่าไม่มีให้เปิด command promt CMD / Terminal  แล้วพิมพ์คำสั่งด้านล่าง

    python -m ensurepip --upgrade
    python -m pip install --upgrade pip

    หลังจากนั้นจะใช้คำสั่ง pip install ได้แล้ว ก็ run ลง library ที่ต้องการได้เลย

  12. ทำ download youtube กลับ vs code ไปเลือก new file แล้วตั้งชื่อ downloadyoutube. py

    ทำการพิพม์ install library เพื่อเรียกใช้ download youtube plugin ชื่อ yt-dlp

    pip install yt-dlp
    

  13. เริ่มแก้ไขโค้ดใน downloadyoutube.py
    #pip install yt-dlp ทำการเปิด cmd แล้วพิมพ์นี้เพื่้อ install ก่อน
    import yt_dlp   #เรียกใช้งาน library yt-dlp
    url="link youtube"  #ใส่ link youtube ที่ต้องการโหลด
    
    ydl_opts = {
        'format': 'best',
        'outtmpl': '%(title)s.%(ext)s',
    }
    
    with yt_dlp.YoutubeDL(ydl_opts) as ydl:
        ydl.download([url])
    
    
    
    
  14. ไปที่ youtube ทำการ copy url ของ link youtube ที่เราต้องการ
    เอา https://www.youtube.com/watch?v=-hdn5TQFeZ8&list=RD-hdn5TQFeZ8  (ตรงที่เป็น &start_radio=……. ไม่เอา)

    ถ้าต้องการ download เป็น mp3 ใช้โค้ดด้านล่าง

    #pip install yt-dlp ทำการเปิด cmd แล้วพิมพ์นี้เพื่้อ install ก่อน
    import yt_dlp   #เรียกใช้งาน library yt-dlp
    url="https://www.youtube.com/watch?v=-hdn5TQFeZ8&list=RD-hdn5TQFeZ8"  #ใส่ link youtube ที่ต้องการโหลด
    
    ydl_opts = {
        'format': 'bestaudio/best',
        'outtmpl': '%(title)s.%(ext)s',
        'postprocessors': [{
            'key': 'FFmpegExtractAudio',
            'preferredcodec': 'mp3',
            'preferredquality': '192',
        }],
        #winget install ffmpeg ต้องลงตัวนี้เพิ่มเอาไปพิมพ์  cmd เหมือนกับ pip install
        #แล้ว ปิด visual studio code รอบหนึงเปิดใหม่แล้ว run จะ download mp3 ได้
        
    }
    
    with yt_dlp.YoutubeDL(ydl_opts) as ydl:
        ydl.download([url])
    
    
    
    

    อย่าลืมติดตั้ง winget install ffmpeg ใน cmd และเปิดปิด VS Code ใหม่ด้วย แล้วค่อย run จะไม่ error

  15. ทำ app BMI ที่เป็น GUI
    ไปที่ file new file ตั้งชื่อ BMIGUI.py
  16. แก้ไขโค้ดในหน้า BMIGUI.py เริ่มสร้างฟอร์ม
    import tkinter as tk  #เรียก lib tk เพื่อสร้าง GUI
    app=tk.Tk() #เรียกใช้ GUI Form
    app.title("BMI")  #หัวด้านบนของฟอร์มที่จะแสดง
    app.geometry("300x400") #ประกาศขนาด GUI ให้มี กว้าง x สูง pixel
    app.mainloop()
    
    
  17. สร้าง label เพื่อแสดงข้อความขึ้นมา ไปใส่ก่อนปิด mainloop
    #code  ต่าง สร้าง ก่อน mainloop ที่จะแสดงผล GUI
    Label_Height=tk.Label(app,text="ส่วนสูง:")
    Label_Height.grid(column=0,row=0)
  18. เพิ่ม input height เพื่อรับค่า
    #สร้างกล่อง input เพื่อรับค่าส่วนสูง
    Input_Height=tk.Entry(app,width=30) 
    Input_Height.grid(column=1,row=0)
  19. สร้างปุ่ม button เพื่อกดคำนวน
    (code ทั้งหมด)

    import tkinter as tk  #เรียก lib tk เพื่อสร้าง GUI
    app=tk.Tk() #เรียกใช้ GUI Form
    app.title("BMI")  #หัวด้านบนของฟอร์มที่จะแสดง
    app.geometry("300x400") #ประกาศขนาด GUI ให้มี กว้าง x สูง pixel
    #code  ต่าง สร้าง ก่อน mainloop ที่จะแสดงผล GUI
    #สร้าง Label แสดงข้อความ
    Label_Height=tk.Label(app,text="ส่วนสูง:")
    Label_Height.grid(column=0,row=0)
    #สร้างกล่อง input เพื่อรับค่าส่วนสูง
    Input_Height=tk.Entry(app,width=30) 
    Input_Height.grid(column=1,row=0)
    
    #สร้าง Label แสดงข้อความ
    Label_Weight=tk.Label(app,text="น้ำหนัก:")
    Label_Weight.grid(column=0,row=1)
    #สร้างกล่อง input เพื่อรับค่าน้ำหนัก
    Input_Weight=tk.Entry(app,width=30) 
    Input_Weight.grid(column=1,row=1)
    #สร้างปุ่มกด ให้คำนวน
    Button_CalBMI=tk.Button(app,text="คำนวน")
    Button_CalBMI.grid(column=1,row=2)
    app.mainloop() #แสดง GUI ออกมา
    
    
  20. Code ที่สร้าง GUI ทั้งหมดแล้วรอคำนวน
    import tkinter as tk  #เรียก lib tk เพื่อสร้าง GUI
    app=tk.Tk() #เรียกใช้ GUI Form
    app.title("BMI")  #หัวด้านบนของฟอร์มที่จะแสดง
    app.geometry("300x400") #ประกาศขนาด GUI ให้มี กว้าง x สูง pixel
    #code  ต่าง สร้าง ก่อน mainloop ที่จะแสดงผล GUI
    #สร้าง Label แสดงข้อความ
    Label_Height=tk.Label(app,text="ส่วนสูง:")
    Label_Height.grid(column=0,row=0)
    #สร้างกล่อง input เพื่อรับค่าส่วนสูง
    Input_Height=tk.Entry(app,width=30) 
    Input_Height.grid(column=1,row=0)
    
    #สร้าง Label แสดงข้อความ
    Label_Weight=tk.Label(app,text="น้ำหนัก:")
    Label_Weight.grid(column=0,row=1)
    #สร้างกล่อง input เพื่อรับค่าน้ำหนัก
    Input_Weight=tk.Entry(app,width=30) 
    Input_Weight.grid(column=1,row=1)
    #สร้างปุ่มกด ให้คำนวน
    Button_CalBMI=tk.Button(app,text="คำนวน")
    Button_CalBMI.grid(column=1,row=2)
    #สร้าง Label ผลลัพธ์
    Label_ResultBMI=tk.Label(app,text="ผล:")
    Label_ResultBMI.grid(column=1,row=3)
    app.mainloop() #แสดง GUI ออกมา
    
    
  21. ทดสอบกดปุ่มแล้วเรียกค่าที่กรอกใน input height

    #funtion def
    def BMI_Cal():
        print(Input_Height.get())
    #สร้างปุ่มกด ให้คำนวน
    Button_CalBMI=tk.Button(app,text="คำนวน",command=BMI_Cal)
    Button_CalBMI.grid(column=1,row=2)
  22. คำนวน BMI เอาน้ำหนักหารส่วนสูงแล้วแสดงผลในผลลัพธ์
    import tkinter as tk  #เรียก lib tk เพื่อสร้าง GUI
    app=tk.Tk() #เรียกใช้ GUI Form
    app.title("BMI")  #หัวด้านบนของฟอร์มที่จะแสดง
    app.geometry("300x400") #ประกาศขนาด GUI ให้มี กว้าง x สูง pixel
    #code  ต่าง สร้าง ก่อน mainloop ที่จะแสดงผล GUI
    #สร้าง Label แสดงข้อความ
    Label_Height=tk.Label(app,text="ส่วนสูง:")
    Label_Height.grid(column=0,row=0)
    #สร้างกล่อง input เพื่อรับค่าส่วนสูง
    Input_Height=tk.Entry(app,width=30) 
    Input_Height.grid(column=1,row=0)
    
    #สร้าง Label แสดงข้อความ
    Label_Weight=tk.Label(app,text="น้ำหนัก:")
    Label_Weight.grid(column=0,row=1)
    #สร้างกล่อง input เพื่อรับค่าน้ำหนัก
    Input_Weight=tk.Entry(app,width=30) 
    Input_Weight.grid(column=1,row=1)
    
    #สร้าง Label ผลลัพธ์
    Label_ResultBMI=tk.Label(app,text="ผล:")
    Label_ResultBMI.grid(column=1,row=3)
    #funtion def
    def BMI_Cal():
        #print(Input_Height.get())
        #print(Input_Weight.get())
        #ให้แสดงผลใน label ผลลัพธ์ทำผ่าน 'text'
        #Label_ResultBMI['text']=Input_Height.get()
        # BMI = น้ำหนัก / ส่วนสูง(m)**2
        Input_HeightM=float(Input_Height.get())/100
        BMI=float(Input_Weight.get())/Input_HeightM**2
        Label_ResultBMI['text']=f'BMI={BMI:.2f}'
    #สร้างปุ่มกด ให้คำนวน
    Button_CalBMI=tk.Button(app,text="คำนวน",command=BMI_Cal)
    Button_CalBMI.grid(column=1,row=2)
    
    app.mainloop() #แสดง GUI ออกมา
    
    

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.