In 1 đến 10 không có vòng lặp trong python

Cho hai số N và K, vấn đề của chúng ta là trừ một số K từ N cho đến khi số [N] lớn hơn 0 [0], khi N trở thành số âm hoặc 0 thì chúng ta bắt đầu thêm K vào số đó cho đến khi số đó trở thành số nguyên

Ví dụ

N = 10
K = 4

đầu ra

10 6 2 -2 2 6 10

thuật toán

  • chúng ta gọi đi gọi lại hàm cho đến khi N lớn hơn 0 [trong mỗi lần gọi hàm, chúng ta trừ K từ N ]

  • Khi số trở thành âm hoặc 0, chúng tôi bắt đầu thêm K trong mỗi lệnh gọi hàm cho đến khi số trở thành số ban đầu

  • Ở đây, chúng tôi đã sử dụng một hàm duy nhất cho mục đích cộng và trừ nhưng để chuyển đổi giữa hàm cộng hoặc trừ, chúng tôi đã sử dụng cờ biến kiểu Boolean

Bây giờ hãy quan sát việc triển khai trong Python

Thí dụ

def PrintNumber[N, Original, K, flag]:
   #print the number
   print[N, end = " "]
   #if number become negative
   if [N  lower]:
        print_num[lower, upper - 1]
        print[upper]

lower = int[input["Enter lower limit: "]]
upper = int[input["Enter upper limit: "]]

print_num[lower, upper]

Đầu tiên, chúng tôi yêu cầu người dùng nhập giới hạn dưới và trên của phạm vi bằng cách sử dụng int[input[“Nhập giới hạn dưới. “]] và int[input[“Nhập giới hạn trên. “]]. Ở đây, input[] in thông báo trên bàn điều khiển và cũng đọc đầu vào được cung cấp dưới dạng chuỗi. Nhưng chúng tôi muốn đầu vào là một int để chúng tôi có thể thực hiện các phép toán trên chúng và để làm được điều đó, chúng tôi sử dụng int[]

print_num[] là chức năng đệ quy của chúng tôi. Phải mất hai đối số - giới hạn dưới và giới hạn trên. Bên trong chức năng, chúng tôi so sánh trên + 1 [điều này là để trên được bao gồm trong phạm vi] với giới hạn dưới. Nếu điều kiện được đáp ứng, tôi. e. nó là True thì chúng ta gọi đệ quy print_num[] với các tham số là upper – 1 và Lower. Điều này tiếp tục cho đến khi trên trở thành thấp hơn. Tại thời điểm này, tất cả các câu lệnh in được lưu trữ trên ngăn xếp cuộc gọi đều được in

Trong lập trình, Vòng lặp được sử dụng để lặp lại một khối mã cho đến khi đáp ứng một điều kiện cụ thể. Vòng lặp for là một cấu trúc kiểm soát việc lặp lại cho phép bạn viết một vòng lặp cần thực hiện một số lần cụ thể một cách hiệu quả

Ngoài ra, chúng tôi sẽ sử dụng một trong các chức năng tích hợp sẵn của Python range[]. Chức năng này được sử dụng rộng rãi trong các vòng lặp để kiểm soát số lần vòng lặp phải chạy. Nói một cách đơn giản, phạm vi được sử dụng để tạo một chuỗi giữa các giá trị đã cho

Để hiểu rõ hơn về các Python này, các khái niệm nên đọc các bài viết sau

for i in range[1, 11]:
    print[i]

đầu ra

1
2
3
4
5
6
7
8
9
10

Giải trình

Vòng lặp for in số từ 1 đến 10 bằng cách sử dụng hàm range[] ở đây i là một biến tạm thời đang lặp qua các số từ 1 đến 10

Điều đáng nói là tương tự như việc lập chỉ mục danh sách trong phạm vi bắt đầu từ 0, có nghĩa là range[ j ]sẽ in chuỗi cho đến [ j-1] do đó đầu ra không bao gồm 6

Một vấn đề lập trình mới đang là xu hướng gần đây - viết chương trình để in các số từ một đến một trăm mà không sử dụng bất kỳ vòng lặp nào hoặc đề cập đến các số trong nguồn. Đương nhiên, tôi quan tâm đến một giải pháp trong Python

Tôi đã nhận được nhiều câu trả lời tuyệt vời trên Twitter. Nhưng trước tiên hãy để tôi chỉ cho bạn cách tôi tiếp cận nó. Tôi đang tìm kiếm một giải pháp chung và dễ đọc hơn giải pháp ngắn nhất. Quá trình suy nghĩ của tôi là - ngay cả khi chúng ta không thể đề cập đến số, chúng ta có thể chuyển đổi các loại không phải số thành số. Vì vậy, tôi đã thử với Booleans và Strings

zero = int[False]
one = int[True]
hundred = int[f"{one}{zero}{zero}"]


def shownum[i]:
    if i  void main[] { int i; . \n"]; for [i = 1; i 

Chủ Đề