Lista de Exercícios Resolvidos de Módulo Random

Ver Teoria

Escreva um programa que pergunte nomes de alunos de uma sala de aula. O número de alunos é desconhecido, por isso o programa deve perguntar até que seja digitada a palavra “fim”. Depois, o programa deve sortear um aluno para apresentar o trabalho primeiro.

Exemplo:

Digite um nome: Yann

Digite um nome: Camilinha

Digite um nome: Richardneydson

Digite um nome: Claudiane

Digite um nome: fim

O primeiro aluno a apresentar será: Claudiane.

Ver solução completa

Escreva um programa que implemente o jogo conhecido como pedra, papel, tesoura. Neste jogo, o usuário e o computador escolhem entre pedra, papel ou tesoura. Sabendo que pedra ganha de tesoura, papel ganha de pedra e tesoura ganha de papel, exiba na tela o ganhador: usuário ou computador. Para esta implementação, assuma que o número 0 representa pedra, 1 representa papel e 2 representa tesoura. O programa deve pedir para o usuário entrar com sua escolha, gerar aleatoriamente a escolha do computador, exibir a escolha e indicar o vencedor

Ver solução completa

Elabore uma função, denominada geraExibe, para gerar e exibir uma lista contendo 30 sublistas, cada uma indicando o número do usuário, pertencente ao intervalo [0 a 100], e a sua senha (formada por duas letras maiúsculas, seguidas por 2 dígitos, seguidos por dois caracteres pertencente a uma lista denominada especiais. A lista especiais contém os caracteres: (‘!’, ‘@’, ‘#’, ‘$’, ‘%’). Tanto os números dos usuários quanto suas senhas devem ser gerados aleatoriamente. A função deve receber como parâmetro uma lista vazia e exibir a lista gerada.

Em seguida, elabore a função busca, que recebe como parâmetros a lista gerada e um número de usuário, e retorna em que posição da lista a primeira sublista relacionada ao usuário se encontra. Caso o usuário não pertença à lista a função deve retornar -1. Você deve, ainda, completar seu programa com as chamadas às funções. Chame a função geraExibe, verifique a lista gerada e teste a função busca, solicitando que seja informado, via teclado, um número de usuário.

Obs: Na geração de caracteres aleatórios use a função choice() do módulo random.

Ver solução completa

Mapas são matrizes quadradas compostas por bombas ("B") e tesouros ("T"). Implemente um programa que receba como entrada a dimensão dessa matriz quadrada e gere 3 mapas aleatórios e diferentes compostos por bombas e tesouros. A quantidade de tesouros existentes será a metade da dimensão. Um mapa é diferente do outro quando não possuem nenhum tesouro na mesma posição. Segue abaixo um exemplo:

Entrada: Entre com a dimensão do mapa: 4

Saída:

Ver solução completa

Luiz e Fernando decidem jogar par ou ímpar. Luiz escolheu par e Fernando escolheu ímpar. Ao

término de 11 jogadas aquele que ganhar mais será o vencedor do jogo.

Vamos simular o jogo de Luiz e Fernando gerando, em cada jogada, dois números inteiros aleatórios (n1 e n2) pertencentes ao intervalo [0 a 10]. Assim, se a soma (n1+n2) dos valores obtido por cada jogador, em uma jogada, for par, Luiz ganha a jogada, se for ímpar, Fernando ganha a jogada. Faça um programa que simule o jogo, exibindo, em cada uma das 11 jogadas, o número gerado para cada jogador e quem ganhou a jogada. Ao final das 11 jogadas o programa deve exibir quem ganhou o jogo, além do número de jogadas em que ele foi o vencedor.

Obs: Na geração de números inteiros aleatórios use a função randint( ) do módulo random.

Ver solução completa

Implemente o jogo "A Máquina Adivinha". Neste jogo, o usuário entra com uma palavra e a máquina tenta descobrir a palavra escolhendo letra por letra. A quantidade máxima de letras que a máquina pode escolher pra tentar formar a palavra é o dobro do tamanho da palavra. O programa não memoriza as jogadas anteriores. Caso a máquina forme a palavra, ela ganha o jogo, caso contrário, o usuário é o vencedor!

Exemplo 1:

Entrada: dez

Saída:

Letra a? ["_","_","_"]

Letra d? ["d","_","_"]

Letra b? ["d","_","_"]

Letra a? ["d","_","_"]

Letra e? ["d","e","_"]

Letra z? ["d","e","z"]

Eu ganhei!

Exemplo 2:

Entrada: flu

Saída:

Letra x? ["_","_","_"]

Letra y? ["_","_","_"]

Letra b? ["_","_","_"]

Letra u? ["_","_","u"]

Letra q? ["_","_","u"]

Letra z? ["_","_","u"]

Você ganhou!

Ver solução completa

Escreva um programa que receba o nome de uma sequência de times de futebol e exiba uma as partidas de um torneio com os times, de forma que:

  • As partidas devem ser geradas de forma aleatória.
  • O número de times digitados deve ser par.
  • O programa deve pedir nomes até que seja digitado “fim”

Exemplo:

Entrada:

Digite um time: Flamengo

Digite um time: Vasco

Digite um time: Fluminense

Digite um time: Botafogo

Digite um time: Bangu 2

Digite um time: Barcelona

Digite um time: fim

Barcelona x Botafogo

Saída:

Fluminense x Vasco

Bangu 2 x Flamengo

Ver solução completa

O computador “escolhe” (gera aleatoriamente) um número entre 1 e 1024, e o usuário tenta adivinhar o número escolhido. Para cada tentativa do usuário, o programa deve exibir na tela:

  • o número -1, se o número gerado for menor do que o número fornecido pelo usuário;
  • o número 1, se o número gerado for maior do que o número fornecido pelo usuário;
  • o número 0, se o número gerado for igual ao fornecido pelo usuário. Neste caso, o programa deve exibir o número de tentativas usadas pelo usuário para acertar a escolha do computador e finalizar a execução.

O usuário tem direito a um máximo de 20 tentativas. Quando se esgotarem, o programa deve imprimir “acabaram suas tentativas” e terminar.

Implemente e teste este jogo. Para implementar as repetidas tentativas, use recursão.

Ver solução completa