Làm thế nào để viết chương trình Python cho số Armstrong sử dụng While Loop, For Loop, Functions and Recursion?. Chúng tôi cũng chỉ cho bạn, Python program to in Number Armstrong from 1 to n Show Nội dung chính
Nội dung chính
Nếu các số đã cho bằng tổng tích lũy thứ N của mỗi chữ số có trong số nguyên đó, thì đó có thể là Số Amstrong trong Python. Ví dụ, 370 Các chữ số lẻ trong 370 = 3 370 = 3³ + 7³ + 0³ = 27 + 343 + 0 = 370 Các bước dưới đây cho bạn thấy phương pháp phổ biến để kiểm tra Số Armstrong trong Python Các bước
Chương trình Python for number Armstrong sử dụng While LoopChương trình này cho phép người dùng nhập bất kỳ số nguyên dương nào. Và sau đó, chương trình Python này kiểm tra xem một số có phải là Armstrong hay không bằng cách sử dụng Vòng lặp While Number = int(input("Please Enter the Number to Check: ")) Sum = 0 Times = 0 Temp = Number while Temp > 0: Times = Times + 1 Temp = Temp // 10 Temp = Number while Temp > 0: Reminder = Temp % 10 Sum = Sum + (Reminder ** Times) Temp //= 10 if Number == Sum: print("%d is Armstrong." %Number) else: print("%d is Not." %Number) Số Armstrong này trong chương trình python cho phép người dùng nhập bất kỳ số nguyên dương nào rồi gán nó cho biến Tiếp theo, chúng tôi gán giá trị ban đầu cho biến Temp. Nó giúp đảm bảo toàn bộ giá trị ban đầu của chúng ta và sau đó thực hiện tất cả các thao tác trên biến Temp Vòng lặp While đầu tiên chắc chắn rằng số đã chọn lớn hơn 0, các câu lệnh bên trong vòng lặp while sẽ tách nó ra và đếm tổng số chữ số riêng lẻ bên trong số nguyên đã cho. Nếu bạn không hiểu logic của chương trình, hãy tham khảo bài viết Tìm tổng số bằng Python Vòng lặp While thứ hai trong chương trình Số Armstrong trong python này chắc chắn rằng số nguyên đã chọn lớn hơn 0. Chúng ta hãy xem nguyên tắc hoạt động của vòng lặp trong khi vòng lặp này được phép không ngoan trong khi Nhiệt độ> 0. Nhắc nhở = Temp% 10 Sum = Sum + (Reminder ** Times) Temp // = 10 Giá trị do người dùng nhập vào chương trình Python này Đối với số Armstrong = 9474 và Sum = 0 Temp = Number reset the first time Lời nhắc = Temp% 10 Sum = Sum + pow (Lời nhắc, Lần) Đối với ví dụ này, Times = 4 because the total number of 9474 = 4. Vì vậy, Tổng = 0 + (4 * 4 * 4 * 4) => 0 + 256 => Tổng = 256 Nhiệt độ = Nhiệt độ / 10 => 9474/10 LƯU Ý. Nếu các chữ số được đếm là 5, thì hãy nhắc nhở nhân với 5 lần restart two second times. Từ chương trình Python cho Number Armstrong lặp lại lần đầu tiên, các giá trị của cả Temp và Sum đã thay đổi thành Temp = 163 và Sum = 256 Lời nhắc = Temp% 10 Tổng = 256 + (7 * 7 * 7 * 7) => 256 + 2401 Nhiệt độ = 163/10 = 94 tái tạo lại thứ ba. Từ lặp lại thứ hai, các giá trị của Temp = 94 và Sum = 2657 Lời nói = 94% 10 = 4 Tổng = 2657 + (4 * 4 * 4 * 4) => 2657 + 256 Nhiệt độ = 94/10 = 9 Python program for the Armstrong number Từ lặp lại thứ ba, các giá trị của Temp = 9 và Sum = 2913 Lời nói = 9% 10 = 0 Tổng = 2913 + (9 * 9 * 9 * 9) => 2913 + 6561 Nhiệt độ = 9/10 = 0 Ở đây Temp = 0 nên điều kiện lặp trong khi không thành công if (9474 == 9474) Kiểm tra điều kiện xem người dùng nhập có chính xác bằng Tổng hay không. If this condition is Right, then it is not LƯU Ý. Nếu bạn đang tìm số Armstrong trong Python dưới 1000, vui lòng xóa vòng lặp trong khi đếm các chữ số trong một số nguyên, sau đó thay thế mã bên dưới Sum = Sum + (Reminder ** Times); With Sum = Sum + (Reminder * Reminder * Reminder) Use For LoopChương trình Python này cho phép người dùng nhập bất kỳ số nguyên dương nào và sau đó, nó kiểm tra xem một số có phải là Armstrong hay không bằng cách sử dụng For Loop Num = int(input("nPlease Enter the Value : ")) Sum = 0 Times = 0 Temp = Num while Temp > 0: Times = Times + 1 Temp = Temp // 10 Temp = Num for n in range(1, Temp + 1): Reminder = Temp % 10 Sum = Sum + (Reminder ** Times) Temp //= 10 if Num == Sum: print("n %d is.n" %Num) else: print("n %d is Not.n" %Num) Please Enter the Value : 371 371 is. Please Enter the Value : 4458 4458 is Not. Chúng ta vừa thay vòng lặp While trong ví dụ trên vòng lặp For. Nếu bạn chưa hiểu về vòng lặp for, hãy tham khảo bài viết về vòng lặp for Chương trình Python cho số Armstrong sử dụng các chức năngChương trình Python này cho phép người dùng nhập bất kỳ số nguyên dương nào và kiểm tra xem một số có phải là Armstrong hay không sử dụng Hàm def ArmFind(val): total = 0 Times = 0 # Calculating individual digits tm = val while tm > 0: Times = Times + 1 tm = tm // 10 tm = val for n in range(1, tm + 1): Reminder = tm % 10 total = total + (Reminder ** Times) tm //= 10 return total #User Input val = int(input("Please Enter to Find : ")) if (val == ArmFind(val)): print("n%d is." %val) else: print("n%d is Not." %val) Please Enter to Find : 153 153 is. >>> Please Enter to Find : 2256 2256 is Not. Trong chương trình Python ví dụ về Số Armstrong này, chúng tôi đã định nghĩa hàm sau để thực hiện tất cả các tính năng được phép cần thiết và trả về Tổng def ArmFind(val): Khi trình biên dịch đạt đến đoạn mã sau bên trong câu lệnh Nếu thì trình biên dịch sẽ ngay lập tức chuyển đến hàm được chỉ định ở trên ArmFind(val) Chúng tôi đã giải thích về ví dụ LOGIC ở trên Chương trình Python cho số Armstrong sử dụng đệ quyNó cho phép tôi nhập bất kỳ số nguyên dương nào. Tiếp theo, chương trình Python này kiểm tra xem một số có phải là Armstrong hay không bằng cách sử dụng khái niệm hàm đệ quy hoặc hàm đệ quy total = 0 Times = 0 def Count_Of_Digits(value): global Times if(value > 0): Times = Times + 1 Count_Of_Digits(value // 10) return Times def ArmFind(value, Times): global total if(value > 0): Reminder = value % 10 total = total + (Reminder ** Times) ArmFind(value //10, Times) return total value = int(input("Please Enter the value : ")) Times = Count_Of_Digits(value) total = ArmFind(value, Times) if (value == total): print("n%d is Armstrong." %value) else: print("n%d is Not." %value) Please Enter the Value : 153 153 is Armstrong. >>> Please Enter the Value : 259 259 is Not. Trong ví dụ này, chúng tôi đã định nghĩa hai hàm đệ quy. Hàm sau chấp nhận các giá trị nguyên làm giá trị tham số và đếm tổng các chữ số riêng lẻ trong một nguyên số một cách đệ quy Sum = Sum + (Reminder ** Times); With Sum = Sum + (Reminder * Reminder * Reminder)0 Hàm sau nhận hai giá trị nguyên làm giá trị tham số. Và nó thực hiện tất cả các tính năng cần thiết cho phép và trả về Sum Sum = Sum + (Reminder ** Times); With Sum = Sum + (Reminder * Reminder * Reminder)1 Lệnh sau trong Chương trình Python cho Số Armstrong này giúp gọi hàm một cách đệ quy với giá trị được cập nhật. Nếu bạn bỏ lỡ câu lệnh này, thì sau khi hoàn thành dòng đầu tiên, nó sẽ kết thúc. Ví dụ, Sum = Sum + (Reminder ** Times); With Sum = Sum + (Reminder * Reminder * Reminder)2 Số = 153 Khi đó đầu ra = 27 Vui lòng xem câu lệnh If bên trong các chức năng được chỉ định ở trên if (value > 0) check xem value đã cho có lớn hơn 0 hay không. Đối với các hàm đệ quy, điều kiện bắt buộc là phải đặt một điều kiện trước khi sử dụng hàm đệ quy. Nếu không, chúng ta sẽ thực hiện vô hạn (Giống như Vòng lặp vô hạn) Chương trình Python để tìm số Armstrong từ 1 đến nChương trình này cho phép bạn nhập tối thiểu và tối đa. Và sau đó chương trình Python này trả về Number Armstrong giữa các giá trị tối thiểu và tối đa Hai câu lệnh đầu tiên có trong chương trình này cho phép người dùng nhập các giá trị tối thiểu và tối đa Vòng lặp cho phép lặp lại giữa các biến tối thiểu và tối đa. Sự lặp lại bắt đầu ở giá trị tối thiểu và sau đó nó sẽ không vượt qua biến tối đa if (n == tot) -– điều kiện kiểm tra xem phần bổ sung N của mỗi chữ số có trong số nguyên đó có giá trị cho trước hay không. Khi điều kiện là Đúng, nó là không |