Các tổ hợp Pokémon
Ash, một huấn luyện viên Pokémon, gặp một nhóm gồm năm Pokémon. Các Pokémon này đã được nạp vào một list trong phiên làm việc của bạn (gọi là pokemon) và đã được in ra console để bạn tiện theo dõi.
Ash muốn thử bắt một vài Pokémon trong số này, nhưng Pokédex của cậu chỉ có thể lưu trữ hai Pokémon cùng lúc. Hãy dùng combinations từ mô-đun itertools để xem những cặp Pokémon nào Ash có thể bắt.
Bài tập này là một phần của khóa học
Viết mã Python hiệu quả
Hướng dẫn bài tập
- Import
combinationstừitertools. - Tạo một đối tượng combinations tên
combos_objchứa tất cả các cặp Pokémon có thể có từ listpokemon. Mỗi cặp có2Pokémon. - Giải nén
combos_objvào một list têncombos_2. - Ash đã nâng cấp Pokédex để giờ đây có thể lưu trữ bốn Pokémon. Dùng
combinationsđể thu thập tất cả các tổ hợp gồm4Pokémon khác nhau. Lưu các tổ hợp này trực tiếp vào một list têncombos_4bằng ký tự sao (*).
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Import combinations from itertools
____ ____ ____ ____
# Create a combination object with pairs of Pokémon
combos_obj = ____(____, ____)
print(type(combos_obj), '\n')
# Convert combos_obj to a list by unpacking
combos_2 = ____
print(combos_2, '\n')
# Collect all possible combinations of 4 Pokémon directly into a list
combos_4 = ____
print(combos_4)