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

พิมพ์ชุดตัวเลขโดยไม่ต้องใช้ลูปใด ๆ ใน Python Program


ในบทความนี้ เราจะเรียนรู้เกี่ยวกับวิธีการแก้ไขปัญหาที่ระบุด้านล่าง -

คำชี้แจงปัญหา

ให้เลขสองตัว N และ K ปัญหาของเราคือการลบตัวเลข K จาก N จนกระทั่ง number(N) มากกว่าศูนย์ (0) เมื่อ N กลายเป็นค่าลบหรือศูนย์แล้วเราจะเริ่มเพิ่ม K ลงไปจนกว่าตัวเลขนั้นจะกลายเป็นต้นฉบับ หมายเลข(N)

ตัวอย่าง

N = 10
K = 4

ผลผลิต

10 6 2 -2 2 6 10

อัลกอริทึม

  • เราเรียกใช้ฟังก์ชันครั้งแล้วครั้งเล่าจนกระทั่ง N มากกว่าศูนย์ (ในทุกๆ การเรียกใช้ฟังก์ชัน เราจะลบ K ออกจาก N )

  • เมื่อตัวเลขกลายเป็นลบหรือศูนย์ เราจะเริ่มเพิ่ม K ในการเรียกใช้ฟังก์ชันแต่ละครั้งจนกว่าตัวเลขจะกลายเป็นตัวเลขเดิม

  • ในที่นี้ เราใช้ฟังก์ชันเดียวเพื่อวัตถุประสงค์ในการบวกและการลบ แต่เพื่อสลับไปมาระหว่างฟังก์ชันการบวกหรือการลบ เราใช้แฟล็กตัวแปรประเภทบูลีน

ทีนี้มาดูการใช้งานใน Python

ตัวอย่าง

def PrintNumber(N, Original, K, flag):
   #print the number
   print(N, end = " ")
   #if number become negative
   if (N <= 0):
      if(flag==0):
         flag = 1
      else:
         flag = 0
   if (N == Original and (not(flag))):
      return
   # if flag is true
   if (flag == True):
      PrintNumber(N - K, Original, K, flag)
      return
   if (not(flag)):
      PrintNumber(N + K, Original, K, flag);
      return
N = 10
K = 4
PrintNumber(N, N, K, True)

ผลลัพธ์

10 6 2 -2 2 6 10

ที่นี่ตัวแปรทั้งหมดถูกประกาศในเนมสเปซส่วนกลางดังแสดงในภาพด้านล่าง -

พิมพ์ชุดตัวเลขโดยไม่ต้องใช้ลูปใด ๆ ใน Python Program

บทสรุป

ในบทความนี้ เราได้เรียนรู้เกี่ยวกับคำศัพท์สำหรับการพิมพ์ชุดตัวเลขโดยไม่ต้องใช้โครงสร้างการวนซ้ำใดๆ ใน Python 3.x หรือก่อนหน้านั้น