BÁSICO#
Na primeira etapa do desenvolvimento, vamos implementar os itens a seguir:
Etapa 1#
Faça a função rolar_dados que recebe como argumento um número inteiro representando a quantidade de dados a serem rolados e devolve um lista contendo os dados rolados. Ou seja, ao fazer a chamada da função rolar_dados(4) a função deve simular a rolagem de 4 dados de 6 faces e retornar um lista com 4 valores que podem variar de 1 a 6.
Importante: Utilize a função random.randint.
Note que o código abaixo é apenas um exemplo, e como os valores dos dados são aleatórios, os valores na lista serão diferentes.
Exemplo:
Saída:
Etapa 2#
No jogo de dados é possível guardar algum dos dados rolados para tentar criar uma combinação específica.
Veja um exemplo a seguir:

Desta forma, precisamos implementar uma função guardar_dado, que recebe como argumentos uma lista de dados rolados, uma lista de dados já guardados e um número inteiro representado o índice do dado a ser armazenado.
-
Lista de dados rolados:

-
Dado a ser armazenado:

-
Lista de dados já guardados:

Sua função deve retornar uma lista com dois valores, o primeiro valor representando a lista de dados rolados e o segundo representando a lista de dados armazenados no estoque.
Exemplo:
dados_rolados = [1, 3, 2]
dados_no_estoque = [1, 2]
dado_para_guardar = 1
print(guardar_dado(dados_rolados, dados_no_estoque, dado_para_guardar))
Saída:
No exemplo acima, o jogador já está guardando 2 dados [1, 2]. Provavelmente, o jogador está tentando montar uma combinação sequencial. Com os dados [1, 3, 2] rolados, o jogador deseja guardar o dado com face 3 no estoque. Desta forma, a variável dado_para_guardar, definida no exemplo acima, representa a posição do dado que o jogador deseja guardar. Com isso, a função guardar_dado deve transferir o dado da lista dados_rolados para a lista dados_no_estoque.
Etapa 3#
No jogo de dados, também é possível remover os dados já armazenados.
Desta forma, precisamos implementar uma função remover_dado, que recebe como argumentos uma lista de dados rolados, uma lista de dados já guardados e um número inteiro representado o índice do dado a ser removido. Sua função deve retornar uma lista com dois valores, o primeiro elemento da lista representando a lista de dados rolados e o segundo elemento representando a lista de dados armazenados no estoque.
Exemplo:
dados_rolados = [2, 2, 2, 2]
dados_no_estoque = [1]
dado_para_remover = 0
print(remover_dado(dados_rolados, dados_no_estoque, dado_para_remover))
Saída:
No exemplo acima, o jogador está guardando um dado com valor de face 1. Com os dados [2, 2, 2, 2] rolados, talvez seja melhor mudar a estratégia e mandar o 1 embora. Desta forma, a variável dado_para_remover, definida no exemplo acima, representa a posição do dado que o jogador deseja remover do estoque. Com isso, a função remover_dado deve transferir o dado da lista dados_no_estoque para a lista dados_rolados.