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 ตรงนี้ครับ



Create Date : 15 เมษายน 2554
Last Update : 15 เมษายน 2554 22:03:36 น.
Counter : 3355 Pageviews.

0 comments
ชื่อ :
Comment :
 *ใช้ code html ตกแต่งข้อความได้เฉพาะสมาชิก
 

J-learning.BlogGang.com

wink99_th
Location :
พิษณุโลก  Thailand

[ดู Profile ทั้งหมด]
 ผู้ติดตามบล็อก : 8 คน [?]

บทความทั้งหมด