Eu tenho um valor 'x' e quero fazer uma lista onde tem varios valores, e sempre que eu digitar o valor 'x', a lista calcula dois numeros e me devolve o valor mais aproximado do 'x', qual seria o metodo para se fazer isso ?
Eu tenho um valor 'x' e quero fazer uma lista onde tem varios valores, e sempre que eu digitar o valor 'x', a lista calcula dois numeros e me devolve o valor mais aproximado do 'x', qual seria o metodo para se fazer isso ?
Olá Alessandro, tudo bem com você?
Peço desculpas pela demora em lhe responder.
Deixo abaixo um modo que podemos chegar no resultado esperado.
No código criamos uma lista aleatória de 6 números no intervalo de 0 a 60 e pedimos ao usuário para fornecer um valor, logo após é apresentado os valores mais próximos do valor escolhido.
import os
from random import sample
lista_de_numeros = sample(range(61), 6)
print(f"A lista gerada foi: {lista_de_numeros}")
resposta = int(input("Digite o número a ser pesquisado:\n"))
# Adicionando o número desejado na lista original
lista_de_numeros.append(resposta)
# Ordenando a lista em ordem crescente
lista_de_numeros.sort()
print(f"A lista depois de ordenada: {lista_de_numeros}")
# Obtendo posição do número escolhido
posicao_na_lista_do_numero_de_resposta = lista_de_numeros.index(resposta)
# Caso o valor digitado seja a primeira posição da lista
if posicao_na_lista_do_numero_de_resposta == 0:
valor_proximo_1 = lista_de_numeros[posicao_na_lista_do_numero_de_resposta + 1]
valor_proximo_2 = lista_de_numeros[posicao_na_lista_do_numero_de_resposta + 2]
print(f"Os números mais próximos do número digitado são: {valor_proximo_1}, {valor_proximo_2}")
# Caso o valor digitado não seja a primeira posição da lista
else:
valor_proximo_1 = lista_de_numeros[posicao_na_lista_do_numero_de_resposta - 1]
valor_proximo_2 = lista_de_numeros[posicao_na_lista_do_numero_de_resposta + 1]
print(f"Os números mais próximos do número digitado são: {valor_proximo_1}, {valor_proximo_2}")
os.system("pause")
Em caso de mais dúvidas me coloco à disposição.