Project to check the person's temperature

Hello guys, I'm new to Arduino and I wanted you to check if my project that I've made to check a person's temperature is accurate.

I've used 3 leds to indicate how the temperature is growing and used a monitor serial comunication to check exactly the person's temperature. The project is: "flaviobabos.com.br/sensor-de-temperatura-arduino/". I used a tmp36 sensor, is it the most accurate in the market? Or, could I buy a better one for measuring the temperature?

The code is:

const int sensorTMP = A0;         //declare a variável de leitura do sensor
const float tempPadrao = 20.0;    //declare a temperatura ambiente do lugar em que estiver
void setup() {
  Serial.begin (9600);               //inicializa a comunicação serial
  for (int leds = 2; leds<5; leds++){ //este for lê as portas em que todos os leds estão conectados
    pinMode(leds, OUTPUT);           //declara os leds como output
    digitalWrite(leds, LOW);         //deixa os leds apagados por enquanto
    }
}            
void loop() {
  int valorSensor = analogRead(sensorTMP); //variável que faz a leitura do sensor
  Serial.print("Valor do sensor: ");       //mostra no monitor serial o valor lido
  Serial. print(valorSensor);
  float tensao = (valorSensor/1024.0)*5.0; //conversao da leitura do sensor em tensão V
  Serial.print(", Tensao (V): ");          //mostra no monitor serial a tensão lida
  Serial.print(tensao); 
  Serial.print(", graus Celsius: ");       //mostra no monitor serial os graus lidos
  float temperatura = (tensao)*100;   //variável que faz a conversão para graus celsius
  Serial.println(temperatura);             
  if(temperatura < tempPadrao){      //se a temperatura lida for inferior a 20 °C
    digitalWrite(2, LOW);            //apaga led da porta 2
    digitalWrite(3, LOW);            //apaga led da porta 3
    digitalWrite(4, LOW);            //apaga led da porta 4
        
  }else if(temperatura >= tempPadrao+2 && temperatura < tempPadrao+4){  //se a temperatura lida estiver entre 22 ºC e 17 ºC
    digitalWrite(2, HIGH);           //acende led da porta 2
    digitalWrite(3, LOW);            //apaga led da porta 3
    digitalWrite(4, LOW);            //apaga led da porta 4
   
  }else if(temperatura >= tempPadrao+4 && temperatura < tempPadrao+6){  //se a temperatura lida estiver entre 24 ºC e 15 ºC
    digitalWrite(2, HIGH);           //acende led da porta 2
    digitalWrite(3, HIGH);           //acende led da porta 3
    digitalWrite(4, LOW);            //apaga led da porta 4
    
  }else if(temperatura >= tempPadrao+6){  //se a temperatura lida for maior do que 26 ºC
    digitalWrite(2, HIGH);           //acende led da porta 2
    digitalWrite(3, HIGH);           //acende led da porta 3
    digitalWrite(4, HIGH);           //acende led da porta 4
  }
  delay(1);
}

That one really needs skin contact so you may be better looking at one that does NOT require skin contact.

Yes, I thought it'd be a good solution, but there're many errors that might happen when someone press the tmp36 sensor during the temperature checking!

I'll check this alternative out. Thanks for the answer!

yes you would need to keep sterilising the TMP 36 more often that a non contact sensor.

The page says "sua acurácia é de ± 1 °C". You can't measure a person's temperature with such bad precision.
+37°C is normal body temperature.
+38°C is already a knock down fever.
You want a precision of ± 0.1 °C at least.

[edit]
The page suggests "sensor digital DS18B20" for more accurate measuring.