Python ทดลองเขียนโปรแกรมเครื่องคิดเลข บวก ลบ ตอนที่2 ครั้งที่แล้วเป็นการเขียนโปรแกรมให้แสดงตัวเลขที่กด ต่อไปเรามาเขียนโปรแกรมในส่วน การกดเครื่องหมาย บวก ลบ และ เท่ากับ เพื่อง่ายต่อการเขียนโปรแกรม เราจะบวก ลบเลข เพียง สองจำนวนเท่านั้นนะครับ ดังนั้นจะม่ีข้อมูลตัวเลข ชุดที่1 แล้ว เครื่องหมายบวก หรือลบ และตามด้วยตัวเลขชุดที่2 เช่น 50+60 ข้อมูลจะถูกเก็บใน list1 = ['50', '+', '60'] การอ้างข้อมูลใน list ก็ใส่ index ให้มัน เช่น list1[0] = '50' list1[1] = '+' list1[2] = '60' การเพิ่มข้อมูลเข้าไปใน list จะใช้ method append เช่น list1.append('7') จะใส่ข้อมูล '7' เข้าไปต่อท้าย list1 ผลลัพธ์ ก็จะเป็น ['50', '+', '60', '7'] การกำหนดการเริ่มต้นของ list ก็ใช้ list1 = [] อีกสิ่งที่ต้องควรรู้คือ ตัวแปรแบบ global เพราะมีการใช้ตัวแปร tmpStr และ list1 ภายใน function (def) จึงต้องประกาศตัวแปรแบบ global ดังนี้ global list1 global tmpStr ต่อไปเรามาดูรายละเอียดของ ฟังก์ชั่นกัน def callbackPM(str): เมื่อกดเครื่องหมาย บวก หรือลบ จะเรียกฟังก์ชั่นนี้ global list1 ประกาศตัวแปรแบบ global global tmpStr disp['text'] = disp['text']+str print tmpStr print str list1.append(tmpStr) เก็บตัวเลขชุดที่ 1ใส่ใน list1 list1.append(str) เก็บเครื่องหมาย บวก หรือ ลบ ในlist1 print list1 tmpStr ="" clear tmpStr เพื่อเก็บค่าตัวเลข ชุดใหม่ def cal(): เมื่อกดเครื่องหมายเท่ากับ จะเรียกฟังก์ชั่นนี้ global list1 ประกาศตัวแปรแบบ global global tmpStr list1.append(tmpStr) เก็บตัวเลขชุดที่ 2ใส่ใน list1 result = 0 if list1[1] == '+': ตรวจสอบถ้าเป็นเครื่องหมายบวก ก็บวกกัน result = int(list1[0])+int(list1[2]) elif list1[1] == '-': ตรวจสอบถ้าเป็นเครื่องหมายลบ ก็ลบกัน result = int(list1[0])-int(list1[2]) disp['text'] = str(result) แสดงผลลัพธ์ list1 = [] tmpStr = str(result) print list1 print tmpStr code เต็มๆ download ตรงนี้ครับ |
บทความทั้งหมด
|