สอนเขียน Python random ไม่ซ้ำ โดยใช้ if not in มาเช็คว่าตัวเลขดังกล่าวซ้ำหรือไม่ โดยโจทย์คือต้องการ random ตัวเลข 0 - 20 ทั้งหมด 10 ตัวเลขแบบไม่ซ้ำ สามารถเขียนโปรแกรมได้ดังนี้
ตัวอย่าง Python random ไม่ซ้ำ
from random import randint
new_r = []
i = 1
while( i <= 10 ):
r = randint(0, 20)
if( r not in new_r ):
new_r.append( r )
i = i + 1
print( new_r )
ผลลัพธ์
[12, 16, 10, 6, 18, 7, 9, 14, 8, 4]
[14, 5, 2, 18, 11, 0, 7, 15, 6, 9]
[15, 13, 4, 0, 19, 10, 11, 9, 5, 8]
[6, 18, 11, 8, 15, 19, 5, 4, 7, 9]
[1, 16, 2, 9, 17, 3, 14, 8, 11, 19]
1. import randint จาก module random เพื่อใช้สำหรับ random number
2. สร้างตัวแปร new_r เป็นชนิด List เพื่อเก็บตัวเลขที่ random แบบไม่ซ้ำ
3. ใช้ลูป while วนทั้งหมด 10 รอบ ภายในลูป ตัวแปร r จะเก็บค่า random ตัวเลขเอาไว้
4. ใช้คำสั่ง if not in เพื่อเช็คว่าตัวแปร r มีอยู่ใน List new_r หรือไม่ กรณีถ้าไม่มีแปลว่าไม่ซ้ำ ให้เพิ่มตัวเลขดังกล่าวลงไปด้วยคำสั่ง append และให้ i บวกตัวเองเพิ่ม 1
5. นอกลูป while พิมพ์ตัวแปร new_r ออกมา