#!/usr/bin/env python # coding: utf-8 # # กระดาษทดเขียนโปรแกรมไพธอน # In[1]: # ใช้ for i in range ทำงานซ้ำๆ for i in range(1,11): print(i) # In[2]: # x เป็นลิสต์ที่มีสมาชิกสิบตัว เป็นเลข 1 ถึง 10 x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # In[3]: # ดูจำนวนสมาชิกในลิสต์ได้ด้วยคำสั่ง len() len(x) # In[4]: # สร้าง y เป็นลิสต์ว่างๆแล้วเติม 1 เข้าไปเป็นสมาชิก y = [] y.append(1) # In[5]: y # In[6]: # เติม 2 เข้าไปเป็นสมาชิก y.append(2) # In[7]: y # In[8]: # ใช้ ลิสต์.append(...) เพื่อเติมสมาชิกทีละตัว y = [] y.append(1**2) y.append(2**2) y.append(3**2) y.append(4**2) y.append(5**2) y.append(6**2) y.append(7**2) y.append(8**2) y.append(9**2) y.append(10**2) # In[9]: y # In[10]: # ใช้ for i in range ทำงาน append ซ้ำๆให้ y2 = [] for i in range(1, 11): y2.append(i**2) # In[11]: y2 # In[12]: # ใช้วิธี list comprehension สร้างลิสต์ก็ได้ y3 = [i**3 for i in range(1,11)] # In[13]: y3 # In[14]: # ตอนนี้ x เป็นลิสต์ x # In[15]: # for i in ไม่จำเป็นต้องตามด้วย range ก็ได้ ตามด้วยอะไรก็ได้ที่มีสมาชิกหลายๆตัวเช่นลิสต์ x [i/2 for i in x] # In[16]: # List comprehension สามารถสร้างคู่ลำดับก็ได้ [(i, i**2) for i in range(1,11)] # In[17]: # List comprehension สามารถใช้ตัวแปรมากกว่าหนึ่งตัวในการวน # ในที่นี้ใช้ i และ j x = [(i,j) for i in range(1,7) for j in range(1,7)] print(x) # In[18]: len(x) # In[19]: # List comprehension สามารถคัดกรองเฉพาะข้อมูลที่เราต้องการได้ # ในที่นี้เราต้องการเฉพาะ i+j == 7 x = [(i, j) for i in range(1,7) for j in range(1,7) if i + j == 7 ] print(x) # In[20]: # ในที่นี้เราต้องการเฉพาะ i+j == 6 y = [(i, j) for i in range(1,7) for j in range(1,7) if i + j == 6 ] print(y) # In[21]: # ในที่นี้เราต้องการเฉพาะ i+j == 8 [(i, j) for i in range(1,7) for j in range(1,7) if i + j == 8 ] # In[22]: # คราวนี้เราใช้ตัวแปร i, j, k วนเลย # วน i, j จาก 1 ถึง 6 # วน k จาก 1 ถึง 12 # สร้างคู่่่ลำดับ (i,j) ที่ i+j == k [(k, [(i,j) for i in range(1,7) for j in range(1,7) if i+j == k]) for k in range(1,13)] # In[ ]: