[opcional]
Imprima o resultado da função sigmóide aplicada em 20 pontos aleatórios usando a função random.random do módulo random (import random). Ou seja, avalie a função sigmoide com argumentos aleatórios.
[Use o laço de repetição for como em for _ in range (20) ]

Passo 1

O enunciado pede para imprimir o resultado da função sigmóide aplicada em vinte pontos aleatórios, gerados com a função random.random do módulo random. As instruções-chave que temos são:
  • Gerar 20 números aleatórios usando for _ in range (20).
  • Aplicar a função sigmóide a cada número.
  • Imprimir o resultado de cada avaliação.
Informações relevantes fornecidas:
  • Usar import random.
  • Usar o laço for _ in range (20) (observe que o enunciado escreveu com um espaço entre range e (; isso é válido em Python).
  • A função sigmóide deve ser avaliada nos números produzidos por random.random().

Passo 2

Entendendo o que é a função sigmóide (a parte matemática que você precisa saber para a prova):
  • A sigmóide clássica (função logística) é definida por
\sigma(x)=\frac{1}{1+e^{-x}}.
Expliquei cada símbolo:
  • x é o valor de entrada (no nosso caso será o número aleatório retornado por random.random()).
  • e é a base dos logaritmos naturais (aproximadamente 2,71828).
  • A função transforma qualquer número real em um número no intervalo aberto (0,1). Por exemplo, se x=0,
\sigma(0)=\frac{1}{1+e^{0}}=\frac{1}{2}=0{,}5.
Isso significa que a sigmóide “espreme” valores para ficarem entre 0 e 1.

Passo 3

Como implementar a sigmóide em Python (conceitos e código linha a linha):
  • Precisamos de uma função que receba um número x e retorne \sigma(x).
  • Em Python usamos math.exp para calcular e^{x}. Então a implementação será:
    definir a função
def sigmoid(x):
    return 1 / (1 + math.exp(-x))
Explicação das linhas:
  • def sigmoid(x): declara uma função chamada sigmoid que recebe um parâmetro x.
  • math.exp(-x) calcula e^{-x}.
  • 1 / (1 + math.exp(-x)) implementa exatamente a fórmula da sigmóide.

Passo 4

Como gerar os 20 números aleatórios e aplicar a sigmóide (estrutura do laço for e uso do underscore):
  • random.random() retorna um número do tipo float uniformemente distribuído em [0,1). Ou seja, sempre entre 0 (incluso) e 1 (excluso).
  • O laço sugerido é for _ in range (20):. Aqui o underscore _ é apenas uma convenção em Python para indicar que a variável do laço não será usada por nome, só serve para repetir o bloco 20 vezes.
  • Dentro do laço: gerar x = random.random(), calcular y = sigmoid(x) e imprimir y.

Passo 5

Detalhes úteis e boa prática de formatação:
  • Para deixar a saída mais legível na prova ou no terminal, é comum formatar os números com um número fixo de casas decimais, por exemplo print(f"{y:.6f}") para 6 casas decimais.
  • Se você quiser também ver o valor de entrada e a saída, pode imprimir ambos com print(f"x={x:.6f} sigmoid={y:.6f}").
  • Não é necessário nenhuma biblioteca além de random e math.

Passo 6

Código final pronto para rodar (é só copiar e colar num interpretador Python 3). Ele usa exatamente o laço for _ in range (20) pedido e imprime o resultado da sigmóide para cada número aleatório gerado:
import random
import math

def sigmoid(x):
    return 1 / (1 + math.exp(-x))

for _ in range (20):
    x = random.random()
    y = sigmoid(x)
    print(f"{y:.6f}")

Resposta

import random
import math

def sigmoid(x):
    return 1 / (1 + math.exp(-x))

for _ in range (20):
    x = random.random()
    y = sigmoid(x)
    print(f"{y:.6f}")

Exercícios relacionados