Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python พิมพ์รูปแบบ rangoli โดยใช้ตัวอักษร


สมมติว่าเรามีตัวเลข n เราต้องสร้าง rangoli ตัวอักษรขนาด n x n n ต้องอยู่ภายใน 1 และ 26 และจะเริ่มต้นจาก a และสิ้นสุดที่ z เมื่อ n คือ 26

ดังนั้นหากอินพุตเท่ากับ 5 เอาต์พุตจะเป็น

---------e--------------e-d-e----------e-d-c-d-e------e-d-c-b-c-d-e--e-d-c-b-a-b-c-d-e-- e-d-c-b-c-d-e------e-d-c-d-e----------e-d-e -------------- e --------

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • สำหรับฉันในช่วง n-1 ถึง 0 ลดลง 1 ทำ
    • สำหรับ j ในช่วง 0 ถึง i-1 ให้ทำ
      • พิมพ์ "--"
    • สำหรับ j ในช่วง n-1 ถึง i+1, ลดลง 1, ทำ
      • พิมพ์อักขระที่มี ASCII คือ j+97 และพิมพ์พิเศษ "-" ต่อท้าย
    • สำหรับ j ในช่วง i ถึง n-1 ทำ
      • ถ้า j ไม่เหมือนกับ n-1 แล้ว
        • พิมพ์อักขระที่มี ASCII คือ j+97 และพิมพ์พิเศษ "-" ต่อท้าย
      • มิฉะนั้น
        • พิมพ์อักขระที่มี ASCII คือ j+97
    • สำหรับ j ในช่วง 0 ถึง 2*i - 1 ทำ
      • พิมพ์ "-" ต่อท้าย
    • ไปบรรทัดถัดไป
  • สำหรับฉันอยู่ในช่วง 1 ถึง n-1 ทำ
    • สำหรับ j ในช่วง 0 ถึง i ทำ
      • พิมพ์ "--"
    • สำหรับ j ในช่วง n-1 ถึง i+1, ลดลง 1, ทำ
      • พิมพ์อักขระที่มี ASCII คือ j+97 และพิมพ์พิเศษ "-" ต่อท้าย
    • สำหรับ j ในช่วง i ถึง n-1 ทำ
      • ถ้า j ไม่เหมือนกับ n-1 แล้ว
        • พิมพ์อักขระที่มี ASCII คือ j+97 และพิมพ์พิเศษ "-" ต่อท้าย
      • มิฉะนั้น
        • พิมพ์อักขระที่มี ASCII คือ j+97
    • สำหรับ j ในช่วง 0 ถึง 2*i - 1 ทำ
      • พิมพ์ "-" ต่อท้าย
    • ไปที่บรรทัดถัดไป

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น

def Solve(n):for i in range(n-1,-1,-1):for j in range(i):print(end="--") สำหรับ j in range(n-1 ,i,-1):print(chr(j+97),end="-") สำหรับ j ในช่วง (i,n):if j !=n-1:print(chr(j+97),end ="-") อื่น:print(chr(j+97),end="") สำหรับ j ใน range(2*i):print(end="-") print() สำหรับฉัน ในช่วง (1,n ):สำหรับ j ในช่วง (i):print(end="--") สำหรับ j ในช่วง (n-1,i,-1):print(chr(j+97),end="-") สำหรับ j ในช่วง (i,n):ถ้า j !=n-1:print(chr(j+97),end="-") else:print(chr(j+97),end="") สำหรับ j in range(2*i):print(end="-") print()n =8solve(n)

อินพุต

8

ผลลัพธ์

<ก่อนหน้า> --------------- ฮะ -------------------- h-g-h ----- ------------------h-g-f-g-h ------------------h-g-f-e-f-g-h -------------- -h-g-F-E-d-E-F-g-H ---------- H-g-F-E-d-C-d-E-F-g-H ------ H-g-F-E-d-C-B-C-d-E-F-g-H - H-g-F-E-d-C-B-a-B-C-d-E-F-g-H - H-g-F-E-d-C-B-C-d-E-F-g-H ------ H-g-F-E-d-C-d-E-F-g-H ---------- H-g-F-E-d-E-F-g-H ------ --------h-g-f-e-f-g-h ------------------h-g-f-g-h---------------------- ฮึก ฮึก -------------------------- ห--------------