Cho 3 chữ số a, b và c. Nhiệm vụ là tìm tất cả các kết hợp có thể từ các chữ số này.
Examples:
Input: [1, 2, 3] Output: 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 Input: [0, 9, 5] Output: 0 9 5 0 5 9 9 0 5 9 5 0 5 0 9 5 9 0
Phương pháp 1: Lực lượng vũ phu hoặc cách tiếp cận ngây thơBrute force or Naive approach
Cách tiếp cận ngây thơ là chạy 3 vòng từ 0 đến 3 và in tất cả các số từ danh sách nếu các chỉ mục không bằng nhau.
Example:
Python3
def
comb[L]:
____10
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 11
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 12
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 13
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 14
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 15
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 16
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 17
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 18
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 11
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]0
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 13
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 14
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 15
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 16
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 17
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]6
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 11
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]8
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 13
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 14
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 15
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 16
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 17
from itertools import product
t = range[n]
print set[product[set[t],repeat = 3]]
4from itertools import product
t = range[n]
print set[product[set[t],repeat = 3]]
5 from itertools import product
t = range[n]
print set[product[set[t],repeat = 3]]
6from itertools import product
t = range[n]
print set[product[set[t],repeat = 3]]
7[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]0
from itertools import product
t = range[n]
print set[product[set[t],repeat = 3]]
9set[[[0, 1, 1], [1, 1, 0], [1, 0, 0], [0, 0, 1], [1, 0, 1], [0, 0, 0], [0, 1, 0], [1, 1, 1]]]
7set[[[0, 1, 1], [1, 1, 0], [1, 0, 0], [0, 0, 1], [1, 0, 1], [0, 0, 0], [0, 1, 0], [1, 1, 1]]]
8set[[[0, 1, 1], [1, 1, 0], [1, 0, 0], [0, 0, 1], [1, 0, 1], [0, 0, 0], [0, 1, 0], [1, 1, 1]]]
9numbers = []
for num in range[1000]:
num=str[num].zfill[3]
print[num]
numbers.append[num]
0numbers = []
for num in range[1000]:
num=str[num].zfill[3]
print[num]
numbers.append[num]
1numbers = []
for num in range[1000]:
num=str[num].zfill[3]
print[num]
numbers.append[num]
2numbers = []
for num in range[1000]:
num=str[num].zfill[3]
print[num]
numbers.append[num]
3numbers = []
for num in range[1000]:
num=str[num].zfill[3]
print[num]
numbers.append[num]
21 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 16
numbers = []
for num in range[1000]:
num=str[num].zfill[3]
print[num]
numbers.append[num]
6Output:
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1
Phương pháp 2: Sử dụng itertools.permutations []Using itertools.permutations[]
Phương thức này lấy một danh sách làm đầu vào và trả về một danh sách đối tượng các bộ dữ liệu chứa tất cả hoán vị trong một biểu mẫu danh sách.
Example:
Python3
numbers = []
for num in range[1000]:
num=str[num].zfill[3]
print[num]
numbers.append[num]
7 numbers = []
for num in range[1000]:
num=str[num].zfill[3]
print[num]
numbers.append[num]
8numbers = []
for num in range[1000]:
num=str[num].zfill[3]
print[num]
numbers.append[num]
9 9990
Các
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 11
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 12
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 13
>>> name = "//George//" >>> name.strip["/"] 'George' >>> name.rstrip["/"] '//George' >>> name.lstrip["/"] 'George//'5
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 10
set[[[0, 1, 1], [1, 1, 0], [1, 0, 0], [0, 0, 1], [1, 0, 1], [0, 0, 0], [0, 1, 0], [1, 1, 1]]]
8>>> name = "//George//" >>> name.strip["/"] 'George' >>> name.rstrip["/"] '//George' >>> name.lstrip["/"] 'George//'8
Output:
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]
Nếu bạn muốn tất cả các kết hợp có thể có với sự lặp lại trong các giá trị và khác nhau về vị trí, bạn cần sử dụng sản phẩm như thế này:
from itertools import product
t = range[n]
print set[product[set[t],repeat = 3]]
Ví dụ: nếu n = 3, đầu ra sẽ là:
set[[[0, 1, 1], [1, 1, 0], [1, 0, 0], [0, 0, 1], [1, 0, 1], [0, 0, 0], [0, 1, 0], [1, 1, 1]]]
hi vọng điêu nay co ich
Viết một chương trình Python để tạo ra các kết hợp của combo 3 chữ số. Giải pháp mẫu:: Mã Python:Python Basic - 1: Tập thể dục -5 với giải pháp
numbers = []
for num in range[1000]:
num=str[num].zfill[3]
print[num]
numbers.append[num]
Đầu ra mẫu:
999
Trình bày bằng hình ảnh:
Flowchart:
Trực quan hóa 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 hiện chương trình đã nói:
Trình chỉnh sửa mã Python:
Có một cách khác để giải quyết giải pháp này? Đóng góp mã của bạn [và nhận xét] thông qua Disqus.
Trước đó: Viết chương trình Python để tìm các bộ ba duy nhất có ba phần tử cho tổng số 0 từ một mảng N số nguyên. tần số. Write a Python program to find unique triplets whose three elements gives the sum of zero from an array of n integers.
Next: Write a Python program to print a long text, convert the string to a list and print all the words and their frequencies.
Mức độ khó của bài tập này là gì?
Kiểm tra kỹ năng lập trình của bạn với bài kiểm tra của W3Resource.
Python: Lời khuyên trong ngày
Xóa các ký tự vô dụng ở đầu/kết thúc/cả hai chuỗi:
>>> name = "//George//" >>> name.strip["/"] 'George' >>> name.rstrip["/"] '//George' >>> name.lstrip["/"] 'George//'
- Bài tập: Top 16 chủ đề phổ biến nhất hàng tuần
- Bài tập SQL, Thực hành, Giải pháp - Tham gia
- Bài tập SQL, Thực hành, Giải pháp - Quan sát phụ
- JavaScript Basic - Bài tập, Thực hành, Giải pháp
- Java Array: Bài tập, Thực hành, Giải pháp
- C Bài tập lập trình, Thực hành, Giải pháp: Tuyên bố có điều kiện
- Cơ sở dữ liệu nhân sự - Sắp xếp bộ lọc: Bài tập, Thực hành, Giải pháp
- C Bài tập lập trình, Thực hành, Giải pháp: Chuỗi
- Các loại dữ liệu Python: Từ điển - Bài tập, Thực hành, Giải pháp
- Câu đố lập trình Python - Bài tập, Thực hành, Giải pháp
- Mảng C ++: Bài tập, Thực hành, Giải pháp
- Báo cáo và vòng lặp có điều kiện JavaScript - Bài tập, Thực hành, Giải pháp
- Thuật toán cơ bản C# Sharp: Bài tập, Thực hành, Giải pháp
- Python Lambda - Bài tập, Thực hành, Giải pháp
- Python Pandas DataFrame: Bài tập, Thực hành, Giải pháp
- Công cụ chuyển đổi
- JavaScript: HTML Mẫu xác thực