Ý tưởng là thử chia số và xem kết quả có phải là số nguyên không. Tuy nhiên, tôi không nhận được kết quả như mong đợi
Làm cách nào để kiểm tra xem số đó có phải là số nguyên không?
Trong 2. x, phép chia như thế này sẽ tạo ra một số nguyên, loại bỏ phần dư;
Trong 3. x, phép chia sẽ tạo ra một giá trị dấu phẩy động; . Xem Tại sao phép chia số nguyên mang lại số float thay vì số nguyên khác?
Nếu bạn cần phần còn lại từ phép chia số nguyên thay vì chỉ kiểm tra tính chia hết, hãy xem Tìm phần còn lại của phép chia của một số
Viết hàm Python để kiểm tra xem một số có chia hết cho một số khác không. Chấp nhận hai giá trị số nguyên từ người dùng
Giải pháp mẫu. -
Mã Python
def multiple[m, n]:
return True if m % n == 0 else False
print[multiple[20, 5]]
print[multiple[7, 2]]
Đầu ra mẫu
True False
Trình bày bằng hình ảnh
Sơ đồ
Trực quan hóa việc thực thi mã Python
Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực thi chương trình nói trên
Trong chương trình bên dưới, chúng tôi đã sử dụng hàm ẩn danh [lambda] bên trong hàm có sẵn filter[]
để tìm tất cả các số chia hết cho 13 trong danh sách
Mã nguồn
# Take a list of numbers
my_list = [12, 65, 54, 39, 102, 339, 221,]
# use anonymous function to filter
result = list[filter[lambda x: [x % 13 == 0], my_list]]
# display the result
print["Numbers divisible by 13 are",result]
đầu ra
Numbers divisible by 13 are [65, 39, 221]
Tìm hiểu thêm về filter[] tại Python filter[]
Bài viết này được tạo ra để đề cập đến một số chương trình trong Python, kiểm tra xem một số có chia hết cho một số khác hay không. Cả hai số phải được nhập bởi người dùng. Dưới đây là danh sách các chương trình
- Kiểm tra xem một số có chia hết cho một số khác hay không
- Phép chia hết với nhiều số. Đó là, chương trình tìm và in tất cả các số từ danh sách các số chia hết cho một số cụ thể
- Chương trình kiểm tra tính chia hết sử dụng hàm do người dùng định nghĩa
Kiểm tra một số có chia hết cho số khác không
Chương trình này kiểm tra xem một số [do người dùng nhập] có chia hết cho một số khác [cũng do người dùng nhập] hay không. Câu hỏi đặt ra là hãy viết chương trình Python để thực hiện kiểm tra tính chất chia hết. Đây là câu trả lời của nó
print["Enter a Number [Numerator]: "] numn = int[input[]] print["Enter a Number [denominator]: "] numd = int[input[]] if numn%numd==0: print["\n" +str[numn]+ " is divisible by " +str[numd]] else: print["\n" +str[numn]+ " is not divisible by " +str[numd]]
Đâ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 21 dưới dạng số, nhấn phím ENTER
, sau đó nhập một số khác nói 3 để kiểm tra xem số này có chia hết cho 21 hay không, như thể hiện trong ảnh chụp nhanh bên dưới
Lưu ý - Hàm str[] chuyển đổi thành giá trị kiểu chuỗi
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 đó. Chương trình này xử lý đầu vào không hợp lệ. Kết thúc bỏ qua việc chèn một dòng mới tự động
print["Enter a Number [Numerator]: ", end=""] try: numn = int[input[]] print["Enter a Number [denominator]: ", end=""] try: numd = int[input[]] if numn%numd==0: print["\n" +str[numn]+ " is divisible by " +str[numd]] else: print["\n" +str[numn]+ " is not divisible by " +str[numd]] except ValueError: print["\nInvalid Input!"] except ValueError: print["\nInvalid Input!"]
Đây là mẫu chạy của nó với 33 và 10 khi người dùng nhập
Phép chia hết với nhiều số
Bây giờ chương trình này thực hiện phép chia hết cho nhiều số cùng một lúc. Tức là chương trình nhận size thì nhận số size cho trước. Ví dụ: nếu người dùng nhập kích thước là 6, thì chương trình sẽ yêu cầu nhập thêm sáu số, để lưu trữ tất cả các số này trong một danh sách có tên là nums. And finally receives a last input as a number to apply divisibility test like shown in the program given below
print["Enter the Size: ", end=""] tot = int[input[]] print["Enter " +str[tot]+ " Numbers: ", end=""] nums = [] for i in range[tot]: nums.append[int[input[]]] print["\nEnter a Number to Apply Divisibility Test: ", end=""] val = int[input[]] res = [] for i in range[tot]: if nums[i]%val==0: res.append[nums[i]] reslen = len[res] if reslen>0: if reslen>1: print["\nThere are " +str[reslen]+ " numbers divisible by " +str[val]] for i in range[reslen]: print[res[i], end=" "] print[] else: print["\nThere is only 1 number divisible by " +str[val]] print[res[0]] else: print["\nThere is no any number divisible by " +str[val]]
Here is its sample run with user inputs, 6 as size, 12, 15, 19, 21, 25, 30 as six numbers and then 3 as number to check for divisibility test, or to check 3 divides how many numbers from given six numbers like shown in the snapshot given below
Đây là một mẫu khác chạy với đầu vào của người dùng 4 là kích thước, 10, 20, 30, 40 là bốn số và 6 là số để kiểm tra kiểm tra tính chia hết của nó
Chương trình kiểm tra chia hết sử dụng chức năng
Chương trình này thực hiện công việc tương tự như chương trình trước. Sự khác biệt duy nhất là, cái này được tạo bằng hàm do người dùng định nghĩa có tên divTest[]. Hàm này nhận hai số làm đối số và trả về 1 nếu số thứ hai chia hết số thứ nhất mà không để lại phần dư nào [hoặc để lại phần còn lại bằng 0]