3
respostas

Desafio: hora da prática

Aquecimento:

1. Escreva um código para instalar a versão 3.7.1 da biblioteca matplotlib.

!pip install matplotlib==3.7.1

2. Escreva um código para importar a biblioteca numpy com o alias np.

import numpy as np

3. Crie um programa que leia a seguinte lista de números e escolha um número desta aleatoriamente.

lista = [8, 12, 54, 23, 43, 1, 90, 87, 105, 77]
import random

lista = [8, 12, 54, 23, 43, 1, 90, 87, 105, 77]

# Sorteando 3 vezes
for i in range(3):
    numero_escolhido = random.choice(lista)
    print(f'Sorteio {i+1}: {numero_escolhido}')

Sorteio 1: 43
Sorteio 2: 1
Sorteio 3: 87

4. Crie um programa que sorteia, aleatoriamente, um número inteiro positivo menor que 100.

Dica: use a função randrange() da biblioteca random. Essa função recebe como parâmetro o valor limite para a escolha aleatória ou um intervalo se passado o limite mínimo e máximo. Por exemplo, randrange(5) gera valores inteiros menores que 5.

import random

# Sorteio de um número inteiro positivo menor que 100:
numero_sorteado = random.randrange(1, 100)

print(f'Número sorteado:', numero_sorteado)

python sorteio.py

Número sorteado: 12

5. Crie um programa que solicite à pessoa usuária digitar dois números inteiros e calcular a potência do 1º número elevado ao 2º.

Dica: use a função pow() da biblioteca math

import math

# Solicitação de dois números inteiros ao usuário:
numero_1 = int(input(f'Digite o primeiro número inteiro: '))
numero_2 = int(input(f'Digite o segundo número inteiro: '))

# Cálculo da potência usando math.pow():
resultado = math.pow(numero_1, numero_2)

# Exibição do resultado:
print(f'O resultado de {numero_1} elevado a {numero_2} é: {resultado}')

Digite o primeiro número inteiro: 11
Digite o segundo número inteiro: 0

O resultado de 11 elevado a 0 é: 1.0

Aplicando a projetos:

6. Um programa deve ser escrito para sortear uma pessoa seguidora de uma rede social para ganhar um prêmio. A lista de participantes é numerada e devemos escolher aleatoriamente um número de acordo com a quantidade de participantes. Peça à pessoa usuária para fornecer o número de participantes do sorteio e devolva para ela o número sorteado.

import random

# Solicitação do número de participantes:
numero_participantes = int(input(f'Digite o número de participantes do sorteio: '))

# Sorteio de um número entre 1 e o total de participantes:
numero_sorteado = random.randint(1, numero_participantes)

# Exibição do resultado:
print(f'O número sorteado foi: {numero_sorteado}')

Digite o número de participantes do sorteio: 120
O número sorteado foi: 49

7. Você recebeu uma demanda para gerar números de token para acessar o aplicativo de uma empresa. O token precisa ser par e variar de 1000 até 9998. Escreva um código que solicita à pessoa usuária o seu nome e exibe uma mensagem junto a esse token gerado aleatoriamente.

"Olá, [nome], o seu token de acesso é [token]! Seja bem-vindo(a)!"
import random

# Solicitação do nome da pessoa usuária:
nome = input("Digite o seu nome: ")

# Geração de um número de token par entre 1000 e 9998:
token = random.choice(range(1000, 9999, 2))

# Exibição da mensagem personalizada:
print(f'Olá, {nome}, o seu token de acesso é {token}! Seja bem-vindo(a)!')

Digite o seu nome: Murilo
Olá, Murilo, o seu token de acesso é 7214! Seja bem-vindo(a)!

8. Para diversificar e atrair novos(as) clientes, uma lanchonete criou um item misterioso em seu cardápio chamado "salada de frutas surpresa". Neste item, são escolhidas aleatoriamente 3 frutas de uma lista de 12 para compor a salada de frutas da pessoa cliente. Crie o código que faça essa seleção aleatória de acordo com a lista abaixo:

frutas = ["maçã", "banana", "uva", "pêra", 
          "manga", "coco", "melancia", "mamão",
          "laranja", "abacaxi", "kiwi", "ameixa"]
import random

frutas = ["maçã", "banana", "uva", "pêra", 
          "manga", "coco", "melancia", "mamão",
          "laranja", "abacaxi", "kiwi", "ameixa"]

# Seleção de 3 frutas diferentes de forma aleatória:
salada_surpresa = random.sample(frutas, 3)

print(f'Sua salada de frutas surpresa contém:', salada_surpresa)

Sua salada de frutas surpresa contém: ['mamão', 'coco', 'laranja']

Continua...

3 respostas

Continuação:

9. Você recebeu um desafio de calcular a raiz quadrada de uma lista de números, identificando quais resultaram em um número inteiro. A lista é a seguinte:

numeros = [2, 8, 15, 23, 91, 112, 256]
import math

while True:
    numero = int(input("Digite um número (0 para sair): "))
    
    if numero == 0:
        print("Programa finalizado.")
        break
    
    raiz = math.sqrt(numero)
    
    if raiz // 1 == raiz:
        print(f'{numero} possui raiz quadrada inteira: {int(raiz)}')
    else:
        print(f'{numero} não possui raiz quadrada inteira (raiz ≈ {raiz:.2f})')


Digite um número (0 para sair): 2
2 não possui raiz quadrada inteira (raiz ≈ 1.41)
Digite um número (0 para sair): 8
8 não possui raiz quadrada inteira (raiz ≈ 2.83)
Digite um número (0 para sair):  15
15 não possui raiz quadrada inteira (raiz ≈ 3.87)
Digite um número (0 para sair): 23
23 não possui raiz quadrada inteira (raiz ≈ 4.80)
Digite um número (0 para sair): 91
91 não possui raiz quadrada inteira (raiz ≈ 9.54)
Digite um número (0 para sair): 112
112 não possui raiz quadrada inteira (raiz ≈ 10.58)
Digite um número (0 para sair): 256
256 possui raiz quadrada inteira: 16
Digite um número (0 para sair): 0
Programa finalizado.

10. Faça um programa para uma loja que vende grama para jardins. Essa loja trabalha com jardins circulares e o preço do metro quadrado da grama é de R$ 25,00. Peça à pessoa usuária o raio da área circular e devolva o valor em reais do quanto precisará pagar.

import math

# Preço por metro quadrado:
preco_m2 = 25.0

# Solicitação do raio ao usuário:
raio = float(input("Digite o raio do jardim em metros: "))

# Cálculo da área do círculo: A = π * r^2:
area = math.pi * math.pow(raio, 2)

# Cálculo do valor total:
valor_total = area * preco_m2

# Exibição do resultado:
print(f'O valor a pagar pela grama é: R$ {valor_total:.2f}')

Digite o raio do jardim em metros: 45
O valor a pagar pela grama é: R$ 159043.13

Oii Andressa, tudo bem?

Obrigada por compartilhar suas soluções no fórum — com certeza vai ajudar outras pessoas que estejam resolvendo os mesmos desafios!

Seu código está bem estruturado e você fez boas escolhas nas funções: random.choice para a lista, random.sample para garantir frutas sem repetição na salada, e range(1000, 9999, 2) para filtrar apenas os pares no token — essa última foi uma solução elegante!

Tenho uma observação pequena no exercício 5: o enunciado pedia para exibir os valores digitados pela usuária, mas a mensagem final ficou com 5 e 0 fixos no texto (O resultado de 5 elevado a 0 é: 1.0) ao invés de numero_1 e numero_2. O código em si usa as variáveis corretamente, então foi só um detalhe na saída exibida. Nada que comprometa a lógica!

Conte com a Alura para evoluir seus estudos. Em caso de dúvidas, fico à disposição.

Bons estudos!

Sucesso

Imagem da comunidade

Oi, Victor!

Muito obrigada pelo feedback!

Fiz a correção do que me apontou.