>>> Let's run Python on Mobile

วันอังคาร, กันยายน 13, 2548

for-in ใน Python

Python for Symbian
การใช้ for ใน Python จะแตกต่างกับภาษาอื่น
ใน Python เราต้องใช้ for กับตัวแปรที่เป็น Sequence
Sequence คือตัวแปรที่เป็นชุดๆ สามารถไล่ index หาสมาชิกตัวถัดๆ ไปใน Sequence ได้ เช่น x[0] ,x[1] ,x[2]
ตัวอย่างของ Sequence ก็เช่น String ,List เป็นต้น

วิธีใช้ for-in ก็กำหนดประโยคเป็น
for แต่ละสมาชิก in Sequence :
    do something 1
    do something 2
เช่น
import appuifw,e32
def stop_now():
    a.signal()
appuifw.app.title=u'test19'
My_Screen=appuifw.Text()
appuifw.app.body=My_Screen
x=u'March'
for My_char in x :
    My_Screen.add(u'\n')
    My_Screen.add(My_char)
appuifw.app.exit_key_handler=stop_now
a=e32.Ao_lock()
a.wait()

จากตัวอย่างข้างบน
จะเห็นว่า เราสร้าง Unicode String ชื่อ x
ต่อมา
for My_char in x :
จะเห็นว่าประโยค for จบประโยคด้วยเครื่องหมาย :
My_char แทนแต่ละสมาชิกใน x
(คือ จะค่อยๆเปลี่ยนจาก x[0] แล้วเป็น x[1] ไป x[2] ... จนครบหมด)
เมื่อกำหนดค่าแต่ละสมาชิกใน x เสร็จจะไปทำ คำสั่งบรรทัดถัดๆมา
คำสั่งบรรทัดถัดๆมา นี้ต้องเขียนให้มีการย่อหน้า(ก็แล้วแต่สะดวก เช่น ประมาณ 4 space)
คำสั่งบรรทัดต่อไปถ้ายังอยู่ใน loop ของ for ก็ต้องย่อหน้าให้ตรงกันด้วย

ลองดูตัวอย่างของ list ดูบ้าง
import appuifw,e32
def stop_now():
    a.signal()
appuifw.app.title=u'test20'
My_Screen=appuifw.Text()
appuifw.app.body=My_Screen
txt=[u'January',u'February',u'March',u'April',u'May',u'June',u'July',u
'August',u'September',u'October',u'November',u'December']
for My_month in txt :
    My_Screen.add(u' __ ')
    My_Screen.add(My_month)
appuifw.app.exit_key_handler=stop_now
a=e32.Ao_lock()
a.wait()



ตัวอย่าง code
test19.zip
test20.zip

หน้าถัดไป>>>
หน้าก่อน
กลับไปหน้าหลัก