Então, esse script ta sendo chamado antes de existir o conteúdo, ou seja você quer pegar um input que ainda não existe. Experimenta colocar esse script antes da tag de fechamento do body, isso deve resolver

Para você ver por si, com o script ainda no head coloca um console log depois do num mostrando o num, e depois faz o mesmo mas com script agora antes da tag de fechamento do body :)

Se isso funcionar, acho que ele pode só passar o 'defer' na tag script e assim ele só vai carregar após o html ser completamente carregado Ex: <script defer src="script.js"></script>

cara funcionou eu mudei a tag de lugar e deu certo obg pela ajuda !!!