36. Колода карт. (в коде есть строки из следующих тем: "библиотеки").
Условие:
Программа должна составить список всех карт в колоде из двух списков:
- MASTI = ["ПИКИ", "ЧЕРВЫ", "БУБНЫ", "ТРЕФЫ"]
- NOMINAL = ["2", "3", "4", "5", "6", "7", "8", "9", "10", "Валет", "Дама", "Король", "Туз"]
- Дальше программа должна перемешать все карты и вывести на печать попарно отсортированный список и перемешанный.
- Нужно программного произвести тест программы (правильно ли сработал алгоритм).
Код:
import random, copy
MASTI = ["ПИКИ", "ЧЕРВЫ", "БУБНЫ", "ТРЕФЫ"]
NOMINAL = ["2", "3", "4", "5", "6", "7", "8", "9", "10", "Валет", "Дама", "Король", "Туз"]
koloda_sort = [] # здесь будем хранить колоду отсортированную колоду
for a in MASTI:
for b in NOMINAL:
nominal_mast = b + " * " + a
koloda_sort.append(nominal_mast)
koloda_sort_2 = copy.copy(koloda_sort) # копия списка, который будем менять в цикле
for index, item in enumerate(koloda_sort_2): # обходим в цикле сразу индексы и значения
x = random.randint(index, 51) # выводим случайный результат, с учётом изменения индекса в цикле
temp_card = koloda_sort_2[index] # эта и следующие 2 строки меняют карты местами в списке "koloda_sort_2"
koloda_sort_2[index] = koloda_sort_2[x]
koloda_sort_2[x] = temp_card
for a, b in zip(koloda_sort, koloda_sort_2): # выведем на печать в цикле отсортированную колоду и перемешанную по парам
print(a, b)
##############################################################################################
############# проверка #######################################################################
##############################################################################################
print()
for i in koloda_sort_2:
koloda_sort.remove(i)
if len(koloda_sort) == 0:
print("test pass")
else:
print("test fail")