Chương trình Python để in N số tự nhiên theo thứ tự Đảo ngược

Đây là câu hỏi lập trình được hỏi nhiều nhất trong cuộc phỏng vấn. Chúng ta có thể đảo ngược số nguyên trong Python bằng các phương thức khác nhau

Chương trình Python để in N số tự nhiên theo thứ tự Đảo ngược

Ở đây chúng tôi sẽ viết chương trình lấy số đầu vào và đảo ngược tương tự. Hãy tìm hiểu các phương pháp đảo ngược số nguyên sau đây

  • Sử dụng vòng lặp while
  • Sử dụng đệ quy

Đảo ngược một số bằng cách sử dụng vòng lặp Python

Đầu tiên, chúng ta hiểu thuật toán của chương trình này. Nó sẽ giúp dễ hiểu logic chương trình. Khi bạn nắm được logic, bạn có thể viết chương trình bằng bất kỳ ngôn ngữ nào, không chỉ Python

thuật toán

Hãy thực hiện thuật toán trên trong chương trình

Chương trình

đầu ra

Enter the integer number: 12345
The reverse number is: 54321

Giải trình -

Hãy hiểu chương trình này từng bước

Chúng tôi đã khởi tạo một biến số cho đầu vào của người dùng và giá trị ban đầu của biến revs_number thành null

Lần lặp đầu tiên

Lời nhắc = số %10
Lời nhắc = 12345%10 = 5
Đảo ngược = Đảo ngược *10 + Lời nhắc Giá trị ban đầu của revs_number là null
Reverse = 0 * 10 + 5 = 0 + 5 = 5
Number = Number //10
Number = 1234 //10 = 1234 // Now loop will iterate on this number.

Lần lặp thứ hai

Bây giờ số là 123 và số vòng quay là 5. While kiểm tra điều kiện của nó và thực thi cho lần lặp tiếp theo

Lời nhắc = Số % 10
Lời nhắc = 1234 % 10 = 4
Đảo ngược = Đảo ngược *10+ Lời nhắc = 5 * 10 + 4Reverse = 50 + 4 = 54
Number = Number //10 = 12345 //10
Number = 123

Lần lặp thứ ba

Từ lần lặp lại thứ hai, các giá trị của cả Số và Đảo ngược đã được thay đổi thành. số = 123 và số vòng quay = 54

Sử dụng khái niệm cắt chuỗi, bạn có thể đảo ngược chuỗi.

num = 123456
print(str(num)[::-1])
3 tương ứng với
num = 123456
print(str(num)[::-1])
4. Khi bạn vượt qua -1 ở vị trí
num = 123456
print(str(num)[::-1])
5, điểm
num = 123456
print(str(num)[::-1])
6 sẽ ở cuối và điểm
num = 123456
print(str(num)[::-1])
7 ở phía trước

5 4 3 2 1
4
5 4 3 2 1
5
num = 123456
print(str(num)[::-1])
57
num = 123456
print(str(num)[::-1])
58
num = 123456
print(str(num)[::-1])
59
num = 123456
print(str(num)[::-1])
80
num = 123456
print(str(num)[::-1])
95
num = 123456
print(str(num)[::-1])
82
num = 123456
print(str(num)[::-1])
83
num = 123456
print(str(num)[::-1])
84
num = 123456
print(str(num)[::-1])
85

Chương trình Python này hiển thị 10 số tự nhiên đầu tiên theo thứ tự ngược hoặc giảm dần bằng cách sử dụng vòng lặp while

print("====The First 10 Natural Numbers in Reverse====")
i = 10

while(i >= 1):
    print(i)
    i = i - 1
====The First 10 Natural Numbers in Reverse====
10
9
8
7
6
5
4
3
2
1
Chương trình Python này giống như ví dụ đầu tiên. Tuy nhiên, chương trình Python này cho phép người dùng nhập các giá trị tối thiểu và tối đa. Có nghĩa là chương trình này sử dụng vòng lặp while để in các số tự nhiên từ lớn nhất đến nhỏ nhất

Trong bài viết này, bạn sẽ tìm hiểu và lấy mã trong Python, để tìm và in tổng các chữ số của một số do người dùng nhập vào trong thời gian chạy. Dưới đây là danh sách các phương pháp được sử dụng để thực hiện nhiệm vụ

  • Thêm chữ số của một số bằng vòng lặp while
  • Sử dụng cho vòng lặp
  • Sử dụng chức năng
  • Sử dụng lớp

Ví dụ: nếu người dùng nhập một số là 235, thì đầu ra sẽ là 2+3+5, tức là 10

Thêm chữ số của một số bằng vòng lặp while

Chương trình đưa ra dưới đây nhận một số làm đầu vào từ người dùng và sử dụng vòng lặp while để tìm tổng các chữ số của số đã cho

num = 123456
print(str(num)[::-1])
0

Đây là đầu ra ban đầu được tạo bởi chương trình Python này

add digits of number python

Bây giờ cung cấp đầu vào nói 123 và nhấn phím

num = 123456
print(str(num)[::-1])
4 để tìm và in tổng các chữ số 1, 2 và 3 của nó như trong ảnh chụp nhanh bên dưới

add number digits python

Quá trình chạy khô khan của chương trình trên với đầu vào của người dùng 123 diễn ra như sau

  • Vì người dùng nhập 123, nên nó được lưu trữ trong num. Do đó, num=123 (được nhập bởi người dùng) và sum=0 (được khởi tạo 0 làm giá trị ban đầu)
  • Bây giờ điều kiện của vòng lặp while được đánh giá. Nghĩa là, điều kiện num>0 hoặc 123>0 được đánh giá là đúng, do đó, luồng chương trình sẽ đi đến phần thân của nó và đánh giá cả ba câu lệnh
  • Vì vậy, num%10 hoặc 123%10 hoặc 3 được khởi tạo thành rem. Bây giờ rem=3
  • Và tổng+rem hoặc 0+3 hoặc 3 được khởi tạo thành tổng. Bây giờ tổng = 3
  • Và cuối cùng int(num/10) hoặc int(123/10) hoặc int(12. 3) hoặc 12 được khởi tạo thành giá trị mới của num. Bây giờ num=12
  • Bây giờ điều kiện của vòng lặp while lại được đánh giá. Bởi vì lần này điều kiện num>0 hoặc 12>0 cũng được đánh giá là đúng, do đó, một lần nữa, cả ba câu lệnh đều được thực hiện. Quá trình này tiếp tục cho đến khi điều kiện đánh giá là sai
  • Bằng cách này, sau khi thoát khỏi vòng lặp, chúng ta sẽ có một biến tên là tổng chứa 6, tổng các chữ số của số đã cho
  • Do đó, chỉ cần in giá trị của tổng dưới dạng đầu ra

Phiên bản sửa đổi của chương trình trước đó

Đây là phiên bản sửa đổi của chương trình trước đó. Trong chương trình này, nếu người dùng nhập một số nói 124, thì kết quả sẽ giống như 1+2+4=7

num = 123456
print(str(num)[::-1])
1

Đây là mẫu chạy với đầu vào của người dùng, 130259

python add digits of number

Lưu ý - Phần cuối được sử dụng để bỏ qua việc thêm một dòng mới tự động bằng print()

Thêm chữ số của số bằng vòng lặp

Bây giờ chương trình này sử dụng vòng lặp for thay vì vòng lặp while để thực hiện cùng một nhiệm vụ, đó là tìm và in tổng các chữ số của một số đã cho

num = 123456
print(str(num)[::-1])
2

Đây là mẫu chạy với đầu vào của người dùng, 4052

python find sum of digits of number

Lưu ý - Tham số thứ ba của vòng lặp for (-1) dùng để lặp với biến vòng lặp (i) theo thứ tự ngược lại. Nghĩa là, kích thước của số đã cho là 1 (một số lớn hơn 0 (tham số thứ hai))

Vì độ dài của "4052" (một chuỗi) là 4, do đó, cả ba câu lệnh đều được thực hiện ba lần

Lưu ý - Hàm str() được sử dụng để chuyển đổi giá trị int thành giá trị kiểu chuỗi

Lưu ý - Len() được sử dụng để tìm độ dài của chuỗi

Thêm chữ số của số bằng chức năng

Chương trình này sử dụng hàm do người dùng định nghĩa có tên addNumDig() để tìm tổng các chữ số của một số đã cho. Hàm nhận một số làm đối số và trả về tổng các chữ số của nó

num = 123456
print(str(num)[::-1])
3

Chương trình này tạo ra kết quả giống như chương trình trước

Thêm chữ số của số bằng Class

Đây là chương trình cuối cùng của bài viết này. Chương trình được tạo bằng cách sử dụng lớp và đối tượng, một tính năng hướng đối tượng của Python

num = 123456
print(str(num)[::-1])
4

Đây là mẫu chạy với đầu vào của người dùng, 1046

add number digits using class python

Sử dụng tuyên bố sau

Tất cả các thuộc tính của lớp có tên CodesCracker được gán cho một đối tượng có tên là ccObj. Bây giờ đối tượng này có thể được sử dụng để truy cập chức năng thành viên của lớp CodesCracker bằng cách sử dụng dấu chấm (. ) nhà điều hành

Làm cách nào để in số theo thứ tự ngược lại trong Python bằng vòng lặp?

Đảo số bằng vòng lặp .
đầu ra
Giải thích chương trình
Lần lặp đầu tiên. Lời nhắc = Số %10. Lời nhắc = 123456%10 = 6. Đảo ngược = Đảo ngược *10 + Nhắc nhở. .
Lần lặp thứ sáu. Từ lần lặp lại thứ hai, các giá trị của cả Số và Đảo ngược đã được thay đổi thành Số = 1 và Đảo ngược = 65432. Lời nhắc = Số %10. .
đầu ra

Làm cách nào để in từ 1 đến 10 theo thứ tự ngược lại bằng vòng lặp for?

C cho vòng lặp. Bài tập-37 có lời giải .
Trình bày bằng hình ảnh
Giải pháp mẫu
C Code: #include void main(){ int num,r,sum=0,t; printf("Input a number: "); scanf("%d",&num); for(t=num;num!=0;num=num/10){ r=num % 10; sum=sum*10+r; } printf("The number in reverse order is : %d \n",sum); } .. .
Sơ đồ