30 พฤษภาคม 2558

Published พฤษภาคม 30, 2558 by with 1 comment

สร้างภาพจากการลูปในภาษา Python

สวัสดีผู้อ่านทุกท่านครับ ผมได้เปิดไปเจอเนื้อหาเกี่ยวกับการลูปในภาษาซี มีการลูปเพื่อวาดภาพบนภาษาซี ผมเลยลองนำมาเขียนเป็นภาษา Python ครับ โดยสร้างภาพจากการลูปในภาษา Python


บทความที่นำมาใช้งาน


บทความนี้ผมจะขอเน้นโค้ดอย่างเดียวนะครับ ลองนำโค้ดไปแกะกันดูนะครับ :D

ลูปสร้างภาพในภาษา Python

for i in range(11):
 print("*" + " "*i+"*")

ผลลัพธ์
*
**
***
****
*****
******
*******
********
*********
**********

เราใช้การลูปแบบ for เก็บค่าไว้ในตัวแปร i โดยลูปตัวเลขตั้งแต่ 0 ถึง 11 ให้แสดงข้อความ  "*" คูณกับจำนวนที่ต้องการให้แสดงแล้วบวกกับข้อความ "*" อีกหนึ่ง



print("*")
for i in range(11):
 print('*' + i * ' ' + '*')

ผลลัพธ์
*
**
* *
*  *
*   *
*    *
*     *
*      *
*       *
*        *
*         *
*          *

แสดง "*" หนึ่งข้อความ แล้วลูป for ตั้งแต่ 0 ถึง 11 ให้แสดง "*" บวกกับเว้นวรรคตามจำนวนในตัวแปร i แล้วบวกกับ "*"


for i in range(11):
 print('*'*(11-i))

ผลลัพธ์
***********
**********
*********
********
*******
******
*****
****
***
**
*

ลูปตั้งแต่ 0 - 11 แล้วให้แสดงข้อความโดยเพิ่มจำนวนสตริง 11 ลบกับค่า i


for i in range(11):
 print((11-i) * ' ' + '*')

ผลลัพธ์
           *
          *
         *
        *
       *
      *
     *
    *
   *
  *
 *



for i in range(11):
 print('*' + (11-i) * ' ' + '*')

ผลลัพธ์
*           *
*          *
*         *
*        *
*       *
*      *
*     *
*    *
*   *
*  *
* *




for i in range(4):
 print(' '*(3-i)+ '*')

ผลลัพธ์
   *
  *
 *
*





ลูปสร้างต้นคริสต์มาสในภาษา Python


แบบครี่งต้น
for i in range(10):
 print("*" + "*"*i)
for i in range(5):
 print('*' + 2*'*')

ผลลัพธ์
*
**
***
****
*****
******
*******
********
*********
**********
***
***
***
***
***

แบบเต็มต้น

for g in range (11,0,-1):
 print((g * ' ' + (11-g) * '*')+ '*' +((11-g) * '*')+(g * ' ' ))
for e in range (1,6):
 print(8 * ' ' + 6*'*')


ผลลัพธ์
           *
          ***
         *****
        *******
       *********
      ***********
     *************
    ***************
   *****************
  *******************
 *********************
        ******
        ******
        ******
        ******
        ******





นอกจากนั้นอาจจะลองไปใช้งานสร้างภาพโดยการแบบลูปซ้อนลูปหลายชั้นได้ครับ

ตัวอย่างเช่น
steps=6
for r in range(steps):
 print('#', end='') # เว้นวรรคตรง end
for c in range(r):
 print(' ', end='')
 print('#')


ผลลัพธ์
##
# #
#  #
#   #
#    #
#     #

อีกตัวอย่างหนึ่ง

for e in range (11,0,-1):
 #print((11-e) * ' ' + e * '*') อาจทำการลูปชั้นเดียวใช้โค้ดนี้
 for d in range (11-e):
  print (' ', end = '')
 for d in range (e):
  print ('*', end = '')
  print()


ผลลัพธ์
***********
 **********
  *********
   ********
    *******
     ******
      *****
       ****
        ***
         **
          *

ลองนำไปดัดแปลงและประยุกต์ใช้งานกันดูนะครับ
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

1 ความคิดเห็น:

  1. อยากทราบว่าทำผัง สามเหลี่ยมจากเครื่องหมาย*นี้ยังไงคะ

    ตอบลบ

แสดงความคิดเห็นได้ครับ :)