สมมติว่าเรามีตัวเลขสองตัว n และ m, m จะเป็นผลคูณของ n เราต้องวาดลายพรมเช็ดเท้าที่มีคำว่า WELCOME อยู่ตรงกลาง ขนาดเสื่อจะเป็น n x m. เราต้องทำแผ่นนี้โดยใช้จุด (.), ยัติภังค์ (-), สัญลักษณ์ไปป์ (|) และข้อความตรงกลาง
ดังนั้น หากอินพุตเท่ากับ n =5 m =15 เอาต์พุตจะเป็น
------.|.---------.|..|..|.-------ยินดีต้อนรับ-------.|..| ..|.---------.|.------
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- สำหรับฉันในช่วง 1 ถึง n-1 เพิ่มขึ้น 2 ทำ
- พิมพ์(จำนวนเต็มของ ((m-i*3)/2) จำนวน '-' ตามด้วยหมายเลข '.|.' ตามด้วยจำนวนเต็มของ ((m-i*3)/2) จำนวน '-'หลี่>
- พิมพ์ (จำนวนเต็มของ ((m-7)/2) ของ '-' ตามด้วย 'ยินดีต้อนรับ' ตามด้วยจำนวนเต็มของ ((m-7)/2) ของ '-')
- สำหรับฉันในช่วง n-2 ถึง -1 ลดลง 2 ทำ
- พิมพ์(จำนวนเต็มของ ((m-i*3)/2) จำนวน '-' ตามด้วยหมายเลข '.|.' ตามด้วยจำนวนเต็มของ ((m-i*3)/2) จำนวน '-'หลี่>
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น
def dissolve(n, m):for i in range(1,n,2):print ('-'*int((m-i*3)/2)+'.|.'*i+'-' *int((m-i*3)/2)) พิมพ์('-'*int((m-7)/2)+'ยินดีต้อนรับ'+'-'*int((m-7)/2)) สำหรับฉัน in range(n-2,-1,-2):print ('-'*int((m-i*3)/2)+'.|.'*i+'-'*int((m-i*3)/ 2))n =15m =45solve(n, m)
อินพุต
15,45