Hướng dẫn ncr python - con trăn ncr

Bạn có muốn lặp lại? itertools.combination . Cách sử dụng phổ biến:

Show

Nội dung chính ShowShow

  • Definition and Usage
  • Parameter Values
  • Technical Details
  • Permutation 
  • Combination 
  • How do you calculate the number of possible combinations?
  • How do you find the combinations of 4 numbers in Python?

>>> import itertools
>>> itertools.combinations('abcd',2)

>>> list(itertools.combinations('abcd',2))
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
>>> [''.join(x) for x in itertools.combinations('abcd',2)]
['ab', 'ac', 'ad', 'bc', 'bd', 'cd']

Nếu bạn chỉ cần tính toán công thức, hãy sử dụng math.factorial :

import math

def nCr(n,r):
    f = math.factorial
    return f(n) / f(r) / f(n-r)

if __name__ == '__main__':
    print nCr(4,2)

Trong Python 3, sử dụng phép chia số nguyên

6
1thay vì
6
2để tránh tràn:

6
3

Đầu ra

6

210 hữu ích 5 bình luận chia sẻ 5 bình luận chia sẻ

Do you want iteration? itertools.combinations. Common usage:

>>> import itertools
>>> itertools.combinations('abcd',2)

>>> list(itertools.combinations('abcd',2))
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
>>> [''.join(x) for x in itertools.combinations('abcd',2)]
['ab', 'ac', 'ad', 'bc', 'bd', 'cd']

If you just need to compute the formula, math.factorial can be used, but is not fast for large combinations, but see

6
4 below for an optimized calculation available in Python 3.8+:

import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)

Output:

6

As of Python 3.8,

6
4 can be used and is much faster:

>>> import math
>>> math.comb(4,2)
6

Do you want iteration? itertools.combinations. Common usage:

>>> import itertools
>>> itertools.combinations('abcd',2)

>>> list(itertools.combinations('abcd',2))
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
>>> [''.join(x) for x in itertools.combinations('abcd',2)]
['ab', 'ac', 'ad', 'bc', 'bd', 'cd']

If you just need to compute the formula, math.factorial can be used, but is not fast for large combinations, but see

6
4 below for an optimized calculation available in Python 3.8+:

import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)

Output:

6

As of Python 3.8,

6
4 can be used and is much faster:

>>> import math
>>> math.comb(4,2)
6

Do you want iteration? itertools.combinations. Common usage:

If you just need to compute the formula, math.factorial can be used, but is not fast for large combinations, but see

6
4 below for an optimized calculation available in Python 3.8+:

  • Definition and Usage
  • Parameter Values
  • Technical Details
  • Permutation 
  • Combination 
  • How do you calculate the number of possible combinations?
  • How do you find the combinations of 4 numbers in Python?
>>> import itertools
>>> itertools.combinations('abcd',2)

>>> list(itertools.combinations('abcd',2))
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
>>> [''.join(x) for x in itertools.combinations('abcd',2)]
['ab', 'ac', 'ad', 'bc', 'bd', 'cd']

If you just need to compute the formula, math.factorial can be used, but is not fast for large combinations, but see

6
4 below for an optimized calculation available in Python 3.8+:

6

Output:

6

As of Python 3.8,

6
4 can be used and is much faster:

>>> import math
>>> math.comb(4,2)
6

Nội dung chính


import math def nCr(n,r): f = math.factorial return f(n) // f(r) // f(n-r) if __name__ == '__main__': print nCr(4,2)

❮ Math Methods

Example
import math

Find the total number of possibilities to choose k things from n items:
n = 7

# Import math Libraryimport math
k = 5

# Initialize the number of items to choose fromn = 7
print (math.comb(n, k))

# Initialize the number of possibilities to choosek = 5

>>> import itertools
>>> itertools.combinations('abcd',2)

>>> list(itertools.combinations('abcd',2))
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
>>> [''.join(x) for x in itertools.combinations('abcd',2)]
['ab', 'ac', 'ad', 'bc', 'bd', 'cd']
0

# Print total number of possible combinationsprint (math.comb(n, k))


Definition and Usage

The result will be:

Run Example » The parameters passed in this method must be positive integers.


The >>> import itertools >>> itertools.combinations('abcd',2) >>> list(itertools.combinations('abcd',2)) [('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')] >>> [''.join(x) for x in itertools.combinations('abcd',2)] ['ab', 'ac', 'ad', 'bc', 'bd', 'cd'] 1 method returns the number of ways picking k unordered outcomes from n possibilities, without repetition, also known as combinations.

Parameter Values

Note: The parameters passed in this method must be positive integers.Syntax
ParameterDescription
n Required. Positive integers of items to choose from

k If the value of k is greater than the value of n it will return 0 as a result.

Required. Positive integers of items to choose If the parameters are negative, a ValueError occurs. If the parameters are not integers, a TypeError occurs.

Technical Details

Note: If the value of k is greater than the value of n it will return 0 as a result. Note: If the parameters are negative, a ValueError occurs. If the parameters are not integers, a TypeError occurs.
Return Value:3.8

Nội dung chính

import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)

Permutation 

❮ Math Methods
 

Python3

Example

Find the total number of possibilities to choose k things from n items:

# Import math Libraryimport math

# Initialize the number of items to choose fromn = 7

Output:  

import math

def nCr(n,r):
    f = math.factorial
    return f(n) / f(r) / f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
5

# Initialize the number of possibilities to choosek = 5
If want  to get permutations of length L then implement it in this way. 
 

Python3

Example

Find the total number of possibilities to choose k things from n items:

# Import math Libraryimport math

# Initialize the number of items to choose fromn = 7

Output: 

import math

def nCr(n,r):
    f = math.factorial
    return f(n) / f(r) / f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
6

# Initialize the number of possibilities to choosek = 5

Combination 

# Print total number of possible combinationsprint (math.comb(n, k))
 

Python3

The result will be:

Run Example »

The

>>> import itertools
>>> itertools.combinations('abcd',2)

>>> list(itertools.combinations('abcd',2))
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
>>> [''.join(x) for x in itertools.combinations('abcd',2)]
['ab', 'ac', 'ad', 'bc', 'bd', 'cd']
1 method returns the number of ways picking k unordered outcomes from n possibilities, without repetition, also known as combinations.

Note: The parameters passed in this method must be positive integers.

Output:  

import math

def nCr(n,r):
    f = math.factorial
    return f(n) / f(r) / f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
7

Syntax
 

Python3

>>> import itertools
>>> itertools.combinations('abcd',2)

>>> list(itertools.combinations('abcd',2))
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
>>> [''.join(x) for x in itertools.combinations('abcd',2)]
['ab', 'ac', 'ad', 'bc', 'bd', 'cd']
3
>>> import itertools
>>> itertools.combinations('abcd',2)

>>> list(itertools.combinations('abcd',2))
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
>>> [''.join(x) for x in itertools.combinations('abcd',2)]
['ab', 'ac', 'ad', 'bc', 'bd', 'cd']
4
>>> import itertools
>>> itertools.combinations('abcd',2)

>>> list(itertools.combinations('abcd',2))
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
>>> [''.join(x) for x in itertools.combinations('abcd',2)]
['ab', 'ac', 'ad', 'bc', 'bd', 'cd']
5
import math

def nCr(n,r):
    f = math.factorial
    return f(n) / f(r) / f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
03

import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
1
>>> import itertools
>>> itertools.combinations('abcd',2)

>>> list(itertools.combinations('abcd',2))
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
>>> [''.join(x) for x in itertools.combinations('abcd',2)]
['ab', 'ac', 'ad', 'bc', 'bd', 'cd']
8
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
3
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
0
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
1
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
2
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
1
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
4
>>> import math
>>> math.comb(4,2)
6
6
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
22

import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
6
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
7
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
8
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
9
import math

def nCr(n,r):
    f = math.factorial
    return f(n) / f(r) / f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
19

6
1
6
2
6
9

Output: 

import math

def nCr(n,r):
    f = math.factorial
    return f(n) / f(r) / f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
7

2. Các yếu tố được coi là duy nhất dựa trên vị trí của chúng, chứ không phải dựa trên giá trị của chúng. Vì vậy, nếu các phần tử đầu vào là duy nhất, sẽ không có giá trị lặp lại trong mỗi kết hợp. & Nbsp; & nbsp;
 

Python3

>>> import itertools
>>> itertools.combinations('abcd',2)

>>> list(itertools.combinations('abcd',2))
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
>>> [''.join(x) for x in itertools.combinations('abcd',2)]
['ab', 'ac', 'ad', 'bc', 'bd', 'cd']
3
>>> import itertools
>>> itertools.combinations('abcd',2)

>>> list(itertools.combinations('abcd',2))
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
>>> [''.join(x) for x in itertools.combinations('abcd',2)]
['ab', 'ac', 'ad', 'bc', 'bd', 'cd']
4
>>> import itertools
>>> itertools.combinations('abcd',2)

>>> list(itertools.combinations('abcd',2))
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
>>> [''.join(x) for x in itertools.combinations('abcd',2)]
['ab', 'ac', 'ad', 'bc', 'bd', 'cd']
5
import math

def nCr(n,r):
    f = math.factorial
    return f(n) / f(r) / f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
03

import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
1
>>> import itertools
>>> itertools.combinations('abcd',2)

>>> list(itertools.combinations('abcd',2))
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
>>> [''.join(x) for x in itertools.combinations('abcd',2)]
['ab', 'ac', 'ad', 'bc', 'bd', 'cd']
8
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
3
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
2
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
1
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
0
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
1
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
4
>>> import math
>>> math.comb(4,2)
6
6
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
22

import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
6
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
7
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
8
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
9
import math

def nCr(n,r):
    f = math.factorial
    return f(n) / f(r) / f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
19

6
1
6
2
6
9

Output: 

import math

def nCr(n,r):
    f = math.factorial
    return f(n) / f(r) / f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
9

2. Các yếu tố được coi là duy nhất dựa trên vị trí của chúng, chứ không phải dựa trên giá trị của chúng. Vì vậy, nếu các phần tử đầu vào là duy nhất, sẽ không có giá trị lặp lại trong mỗi kết hợp. & Nbsp; & nbsp;
 

Python3

Python3

import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
1
>>> import itertools
>>> itertools.combinations('abcd',2)

>>> list(itertools.combinations('abcd',2))
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
>>> [''.join(x) for x in itertools.combinations('abcd',2)]
['ab', 'ac', 'ad', 'bc', 'bd', 'cd']
8
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
3
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
2
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
1
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
0
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
1
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
4
>>> import math
>>> math.comb(4,2)
6
6
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
22

import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
6
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
7
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
8
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
9
import math

def nCr(n,r):
    f = math.factorial
    return f(n) / f(r) / f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
19

6
1
6
2
6
9

Output:

2. Các yếu tố được coi là duy nhất dựa trên vị trí của chúng, chứ không phải dựa trên giá trị của chúng. Vì vậy, nếu các phần tử đầu vào là duy nhất, sẽ không có giá trị lặp lại trong mỗi kết hợp. & Nbsp; & nbsp;

How do you calculate the number of possible combinations?

Python3nCr = n! / r! * (n - r)!, where n represents the total number of items, and r represents the number of items being chosen at a time. To calculate a combination, you will need to calculate a factorial.

import math def nCr(n,r): f = math.factorial return f(n) // f(r) // f(n-r) if __name__ == '__main__': print nCr(4,2) 1>>> import itertools >>> itertools.combinations('abcd',2) >>> list(itertools.combinations('abcd',2)) [('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')] >>> [''.join(x) for x in itertools.combinations('abcd',2)] ['ab', 'ac', 'ad', 'bc', 'bd', 'cd'] 8 import math def nCr(n,r): f = math.factorial return f(n) // f(r) // f(n-r) if __name__ == '__main__': print nCr(4,2) 3import math def nCr(n,r): f = math.factorial return f(n) // f(r) // f(n-r) if __name__ == '__main__': print nCr(4,2) 2import math def nCr(n,r): f = math.factorial return f(n) // f(r) // f(n-r) if __name__ == '__main__': print nCr(4,2) 1import math def nCr(n,r): f = math.factorial return f(n) // f(r) // f(n-r) if __name__ == '__main__': print nCr(4,2) 0import math def nCr(n,r): f = math.factorial return f(n) // f(r) // f(n-r) if __name__ == '__main__': print nCr(4,2) 1import math def nCr(n,r): f = math.factorial return f(n) // f(r) // f(n-r) if __name__ == '__main__': print nCr(4,2) 4>>> import math >>> math.comb(4,2) 6 6import math def nCr(n,r): f = math.factorial return f(n) // f(r) // f(n-r) if __name__ == '__main__': print nCr(4,2) 22

3. Nếu chúng ta muốn tạo kết hợp cùng một yếu tố với cùng một phần tử thì chúng ta sử dụng Combinations_with_Replocation..

>>> import itertools
>>> itertools.combinations('abcd',2)

>>> list(itertools.combinations('abcd',2))
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
>>> [''.join(x) for x in itertools.combinations('abcd',2)]
['ab', 'ac', 'ad', 'bc', 'bd', 'cd']
3
>>> import itertools
>>> itertools.combinations('abcd',2)

>>> list(itertools.combinations('abcd',2))
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
>>> [''.join(x) for x in itertools.combinations('abcd',2)]
['ab', 'ac', 'ad', 'bc', 'bd', 'cd']
4
>>> import itertools
>>> itertools.combinations('abcd',2)

>>> list(itertools.combinations('abcd',2))
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
>>> [''.join(x) for x in itertools.combinations('abcd',2)]
['ab', 'ac', 'ad', 'bc', 'bd', 'cd']
5
import math

def nCr(n,r):
    f = math.factorial
    return f(n) / f(r) / f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
49

import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
1
>>> import itertools
>>> itertools.combinations('abcd',2)

>>> list(itertools.combinations('abcd',2))
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
>>> [''.join(x) for x in itertools.combinations('abcd',2)]
['ab', 'ac', 'ad', 'bc', 'bd', 'cd']
8
import math

def nCr(n,r):
    f = math.factorial
    return f(n) / f(r) / f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
52
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
0
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
1
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
2
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
1
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
4
>>> import math
>>> math.comb(4,2)
6
6
import math

def nCr(n,r):
    f = math.factorial
    return f(n) // f(r) // f(n-r)

if __name__ == '__main__':
    print nCr(4,2)
22

6
1
6
2
6
3

6
0 Bạn có tính toán số lượng kết hợp có thể?

Để tính toán các kết hợp, chúng tôi sẽ sử dụng công thức ncr = n! / r!* (n - r) !, trong đó n đại diện cho tổng số mặt hàng và r đại diện cho số lượng vật phẩm được chọn tại một thời điểm. Để tính toán một sự kết hợp, bạn sẽ cần phải tính toán một giai thừa.

Làm thế nào để bạn tìm thấy sự kết hợp của 4 số trong Python?

Tất cả các kết hợp có thể có của 4 số.