Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình Python tạo Class lấy tất cả Subset từ tập số nguyên khác nhau

Khi cần tạo class lấy tất cả subset có thể của số nguyên từ list, dùng hướng đối tượng. Định nghĩa class, thuộc tính. Định nghĩa hàm trong class thực hiện thao tác. Tạo instance, dùng hàm thực hiện.

Minh họa:

Ví dụ

class get_subset:
    def sort_list(self, my_list):
        return self.subset_find([], sorted(my_list))

    def subset_find(self, curr, my_list):
        if my_list:
            return self.subset_find(curr, my_list[1:]) + self.subset_find(curr + [my_list[0]], my_list[1:])
        return [curr]

my_list = []
num_elem = int(input("Nhập số phần tử list... "))
for i in range(0, num_elem):
    elem = int(input("Nhập phần tử... "))
    my_list.append(elem)
print("Các subset của list: ")
print(get_subset().sort_list(my_list))

Đầu ra

Nhập số phần tử list... 3
Nhập phần tử... 45
Nhập phần tử... 12
Nhập phần tử... 67
Các subset của list:
[[], [67], [45], [45, 67], [12], [12, 67], [12, 45], [12, 45, 67]]

Giải thích

  • Định nghĩa class 'get_subset' với hàm 'sort_list', 'subset_find'.
  • Dùng để sắp xếp list và lấy tất cả subset từ dữ liệu list.
  • Tạo instance class.
  • Nhập dữ liệu list, thực hiện thao tác.
  • Hiển thị thông báo và đầu ra.