4
I’m trying to generate values float
between -1 and 1 to test if these are within the defined limits to create a vector with the amount of data that only means that I am only able to generate values float
between 0 and 1 through the function random()
in the function I have defined, I know there is a function uniform()
but I’m not getting it into function criavetor(dados)
, my code is as follows::
from random import random # para gerar os nums aleatorios com ponto flutuante
"""
Valores de Teste
"""
"""
Função de criação de vetor de valores aleatórios entre 0 e 1
"""
"""
Limites
"""
limite_max=0.8# limite máximo
limite_min=-0.8# limite mínimo
"""
Gerar valores para teste
Função de criação de vetor de valores aleatórios entre 0 e 1
"""
def criavetor(dados):
val=[]
for i in range(dados): # fazer isto (N) vezes
val.append(random()) # adiciona o numero seguinte gerado aleatoriamente entre 0 e 1 ao vetor vec
return val
"""
# Inserção da quantidade de valores a gerar
"""
dados = int(input('Quantidade de valores a serem gerados:'))
val = criavetor(dados)# a variável global val é igual aos dados da função criavetor(dados)
"""
Comparação entre os valores gerados e os limites máximo e mínimos
se os valores estão dentro dos limites definidos estão OK, se estiverem fora desses limites estão NOT OK
"""
for x in val:
print("\n")
print("O valor de x é: ", round(x, 3))
if x >= limite_min and x <= limite_max:
print("OK")
else:
print("NOT OK")
the output when executing the code is as follows:
Quantidade de valores a serem gerados:5
O valor de x é: 0.522
OK
O valor de x é: 0.973
NOT OK
O valor de x é: 0.122
OK
O valor de x é: 0.218
OK
O valor de x é: 0.74
OK
In the documentation it says: "Return the next Random floating point number in the range [0.0, 1.0)". Try using another module function.
– Woss