30 พฤษภาคม 2558

Published 5/30/2558 by with 0 comment

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

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

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

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

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



[python]
for i in range(11):
print("*" + " "*i+"*")
[/python]

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

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





[python]
print("*")
for i in range(11):
print('*' + i * ' ' + '*')
[/python]

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

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





[python]
for i in range(11):
print('*'*(11-i))
[/python]

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

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





[python]
for i in range(11):
print((11-i) * ' ' + '*')
[/python]

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






[python]
for i in range(11):
print('*' + (11-i) * ' ' + '*')
[/python]

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






[python]
for i in range(4):
print(' '*(3-i)+ '*')
[/python]

ผลลัพธ์
   *
*
*
*





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


แบบครี่งต้น

[python]
for i in range(10):
print("*" + "*"*i)
for i in range(5):
print('*' + 2*'*')
[/python]

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

แบบเต็มต้น

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

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





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

ตัวอย่างเช่น

[python]
steps=6
for r in range(steps):
print('#', end='') # เว้นวรรคตรง end
for c in range(r):
print(' ', end='')
print('#')
[/python]

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

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

[python]
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()
[/python]

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

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

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

แสดงความคิดเห็น

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