Tôi không nhận được số kết quả tôi nên lấy từ chức năng đó trong Tiêu đề, vì vậy tôi hy vọng sự giúp đỡ của bạn.Kết quả Python itertools.combinations '
Nhìn vào Documents http://docs.python.org/library/itertools.html#itertools.combinations số lượng kết quả nên
Số lượng các mục quay là n!/r!/(n-r)! khi 0 < = r < = n hoặc không khi r> n.
Và nó hoạt động ví dụ như trong đó
kết hợp ('ABCD', 2) -> AB AC AD BC BD CD
vì n!/r!/(n-r)! = 4!/2!/2! = 6
Nhưng nếu tôi cố gắng
combinations('ABCDEF', 3) --> AB AC AD AE AF BC BD BE BF CD CE CF DE DF EF
tôi nhận được những 15 kết quả. Nhưng n!/r!/(n-r)! = 6!/3!/(6-3)! = 720/6/6 = 20
So: Python Documents nói với tôi rằng tôi nên có 20 kết quả, nhưng tôi nhận được 15.
bạn có thể vui lòng giúp tôi hiểu những gì tôi đang thiếu? Có lẽ là một cái gì đó trong toán học của tôi, như công thức mà nên đúng như nó đang ở trong Wikipedia Combination entry
Cảm ơn, P.
Bạn nói đúng. Lỗi của tôi. Lỗi kép: một vì tôi đã viết "kết hợp ('ABCDEF', 3)" nhưng tôi thực sự đã thử với 2 thay vì 3. Lỗi thứ hai là chắc chắn với đối tượng có thể lặp lại mà tôi đang sử dụng với kết hợp(). Cảm ơn :-) – Paolo