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

Ở đâ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 + 4= 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

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

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

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

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

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ơ đồ

Chủ Đề