{"id":10324,"date":"2023-08-01T07:06:59","date_gmt":"2023-08-01T10:06:59","guid":{"rendered":"https:\/\/www.homehost.com.br\/blog\/?p=10324"},"modified":"2023-09-02T17:47:08","modified_gmt":"2023-09-02T20:47:08","slug":"input-python","status":"publish","type":"post","link":"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/","title":{"rendered":"Input python: Como validar e manipular dados do usu\u00e1rio"},"content":{"rendered":"\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/07\/input-python-1-1024x1024.png\" alt=\"Input python\" class=\"wp-image-10356\" style=\"width:552px;height:552px\" width=\"552\" height=\"552\" srcset=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/07\/input-python-1-1024x1024.png 1024w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/07\/input-python-1-300x300.png 300w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/07\/input-python-1-150x150.png 150w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/07\/input-python-1-768x768.png 768w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/07\/input-python-1-24x24.png 24w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/07\/input-python-1-48x48.png 48w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/07\/input-python-1-96x96.png 96w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/07\/input-python-1.png 1080w\" sizes=\"(max-width: 552px) 100vw, 552px\" \/><\/figure>\n\n\n\n<p>A <strong>entrada de dados<\/strong> \u00e9 uma parte fundamental de qualquer programa, e a fun\u00e7\u00e3o input em Python,  fornece uma maneira f\u00e1cil de <strong>obter dados do usu\u00e1rio<\/strong>. Dessa forma, essa fun\u00e7\u00e3o permite que o programador solicite que o usu\u00e1rio digite uma entrada, que pode ser uma <a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/string-python\/\">string<\/a>, um n\u00famero inteiro, decimal ou uma string com d\u00edgitos num\u00e9ricos, entre outros tipos de dados.<\/p>\n\n\n\n<p>A fun\u00e7\u00e3o &#8216;input()&#8217; \u00e9 uma das fun\u00e7\u00f5es mais comumente usadas em Python, pois \u00e9 uma forma f\u00e1cil de obter informa\u00e7\u00f5es do usu\u00e1rio para usar em uma variedade de programas, desde simples scripts at\u00e9 aplica\u00e7\u00f5es complexas. Al\u00e9m disso, Python oferece uma variedade de maneiras de obter dados do usu\u00e1rio, incluindo a leitura de arquivos e a manipula\u00e7\u00e3o de dados vindos de fontes externas, como APIs e bancos de dados.<\/p>\n\n\n\n<p>Assim, esse artigo ir\u00e1 explorar como usar a <strong>fun\u00e7\u00e3o &#8216;input()&#8217; em Python<\/strong>, incluindo os diferentes tipos de entrada que \u00e9 poss\u00edvel coletar e <strong>como validar e manipular esses dados<\/strong> para uso em seus programas. Al\u00e9m disso, discutiremos t\u00e9cnicas avan\u00e7adas de entrada em Python, como a utiliza\u00e7\u00e3o de express\u00f5es regulares para valida\u00e7\u00e3o de entrada e a acessibilidade de dados de entrada em dicion\u00e1rios.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_72 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Conte\u00fado<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/#Sintaxe_da_funcao_input_em_Python\" title=\"Sintaxe da fun\u00e7\u00e3o input em Python\">Sintaxe da fun\u00e7\u00e3o input em Python<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/#Validacao_de_input_em_Python\" title=\"Valida\u00e7\u00e3o de input em Python\">Valida\u00e7\u00e3o de input em Python<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/#Acessando_o_valor_de_input_em_um_dicionario_em_Python\" title=\"Acessando o valor de input em um dicion\u00e1rio em Python\">Acessando o valor de input em um dicion\u00e1rio em Python<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/#Exemplos_de_uso_para_programas_simples\" title=\"Exemplos de uso para programas simples\">Exemplos de uso para programas simples<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/#Tipos_de_input_em_Python\" title=\"Tipos de input em Python\">Tipos de input em Python<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/#Tecnicas_avancadas_de_input_em_Python\" title=\"T\u00e9cnicas avan\u00e7adas de input em Python\">T\u00e9cnicas avan\u00e7adas de input em Python<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/#Consideracoes_importantes_ao_usar_input_em_programas_Python\" title=\"Considera\u00e7\u00f5es importantes ao usar input em programas Python\">Considera\u00e7\u00f5es importantes ao usar input em programas Python<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/#Conclusao\" title=\"Conclus\u00e3o\">Conclus\u00e3o<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Sintaxe_da_funcao_input_em_Python\"><\/span>Sintaxe da fun\u00e7\u00e3o input em Python<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>A fun\u00e7\u00e3o&nbsp;<code>input()<\/code>&nbsp;em Python \u00e9 usada para obter uma entrada de linha da tela do usu\u00e1rio. A sintaxe b\u00e1sica \u00e9 a seguinte:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>resposta = input(\"Pesquise por algo: \")<\/code><\/pre>\n\n\n\n<p>Onde &#8220;Pesquise por algo&#8221; \u00e9 uma string mostrada na tela do usu\u00e1rio para digitar a resposta. Assim, fun\u00e7\u00e3o&nbsp;<code>input()<\/code>&nbsp;retorna a string digitada pelo usu\u00e1rio e armazena-a na vari\u00e1vel&nbsp;<code>resposta<\/code>.<\/p>\n\n\n\n<p>Voc\u00ea pode tamb\u00e9m especificar um formato para a entrada, como um n\u00famero inteiro, usando a sintaxe&nbsp;<code>int(resposta)<\/code>&nbsp;ou&nbsp;<code>float(resposta)<\/code>. Por exemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>numero = int(input(\"Digite um n\u00famero inteiro: \"))<\/code><\/pre>\n\n\n\n<p>Ou<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pode = float(input(\"Digite uma posi\u00e7\u00e3o decimal: \"))<\/code><\/pre>\n\n\n\n<p>Al\u00e9m disso, a fun\u00e7\u00e3o&nbsp;<code>input()<\/code>&nbsp;retorna uma string vazia (<code>\"\"<\/code>) se n\u00e3o houver nenhuma entrada fornecida pelo usu\u00e1rio. Voc\u00ea pode usar a express\u00e3o&nbsp;<code>if resposta == \"\"<\/code>&nbsp;para verificar se a entrada foi fornecida ou n\u00e3o.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>resposta = input(\"Pesquise por algo: \")\nif resposta == \"\":\n    print(\"Nenhuma entrada fornecida\")\nelse:\n    print(\"Resposta:\", resposta)<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Validacao_de_input_em_Python\"><\/span>Valida\u00e7\u00e3o de input em Python<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>A valida\u00e7\u00e3o de entrada em Python \u00e9 uma t\u00e9cnica importante para garantir que o programa receba dados de entrada v\u00e1lidos e leg\u00edveis. Dessa forma, Isso \u00e9 especialmente importante quando o programa \u00e9 destinado os usu\u00e1rios finais utilizar, pois a entrada de dados do usu\u00e1rio \u00e9 imprevis\u00edvel e err\u00f3nea.<\/p>\n\n\n\n<p>Existem muitas formas de validar a entrada de dados em Python, dependendo do tipo de entrada e das necessidades do programa. Algumas das t\u00e9cnicas mais comuns incluem:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Valida\u00e7\u00e3o de entrada usando fun\u00e7\u00f5es<\/h4>\n\n\n\n<p>Podemos criar fun\u00e7\u00f5es que verifiquem se a entrada de um usu\u00e1rio \u00e9 v\u00e1lida ou n\u00e3o. Por exemplo, para validar uma entrada de n\u00famero inteiro, podemos criar uma fun\u00e7\u00e3o que verifique se o n\u00famero \u00e9 um inteiro positivo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>def is_positive_integer(x):\n    return x &gt; 0\n\nnumero = int(input(\"Digite um n\u00famero inteiro: \"))\nif is_positive_integer(numero):\n    print(f\"{numero} \u00e9 um n\u00famero inteiro positivo!\")\nelse:\n    print(f\"{numero} n\u00e3o \u00e9 um n\u00famero inteiro positivo!\")<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Valida\u00e7\u00e3o de entrada usando express\u00f5es regulares<\/h4>\n\n\n\n<p>As express\u00f5es regulares s\u00e3o uma ferramenta poderosa para validar a entrada de dados em Python. Dessa forma, \u00e9 poss\u00edvel utilizar uma express\u00e3o regular para verificar se uma entrada de dados atende a um padr\u00e3o espec\u00edfico. Por exemplo, para validar uma entrada de string que cont\u00e9m apenas letras e n\u00fameros, podemos utilizar a express\u00e3o regular&nbsp;<code>^[a-zA-Z0-9]+$<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>entrada = input(\"Digite uma string v\u00e1lida: \")\nif re.match(r\"^&#091;a-zA-Z0-9]+$\", entrada):\n    print(\"A entrada \u00e9 v\u00e1lida!\")\nelse:\n    print(\"A entrada n\u00e3o \u00e9 v\u00e1lida!\")<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Valida\u00e7\u00e3o de entrada usando o m\u00f3dulo&nbsp;<code>bool<\/code><\/h4>\n\n\n\n<p>O m\u00f3dulo&nbsp;<code>bool<\/code>&nbsp;inclui fun\u00e7\u00f5es que podem ser usadas para validar a entrada de dados em Python. Por exemplo, a fun\u00e7\u00e3o&nbsp;<code>bool()<\/code>&nbsp;pode ser usada para verificar se uma entrada \u00e9 uma string v\u00e1lida ou n\u00e3o:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>entrada = input(\"Digite uma string v\u00e1lida: \")\nif bool(entrada):\n    print(\"A entrada \u00e9 v\u00e1lida!\")\nelse:\n    print(\"A entrada n\u00e3o \u00e9 v\u00e1lida!\")<\/code><\/pre>\n\n\n\n<p>Al\u00e9m disso, o m\u00f3dulo&nbsp;<code>bool<\/code>&nbsp;tamb\u00e9m inclui a fun\u00e7\u00e3o&nbsp;<code>not_<\/code>, que \u00e9 \u00fatil para validar se uma entrada \u00e9 falsa. Por exemplo, se voc\u00ea quiser validar se um usu\u00e1rio entrou um n\u00famero inteiro, voc\u00ea pode verificar se o resultado da fun\u00e7\u00e3o&nbsp;<code>int()<\/code>&nbsp;\u00e9 falsa:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>numero = int(input(\"Digite um n\u00famero inteiro: \"))\nif not int(numero):\n    print(\"Esse n\u00e3o \u00e9 um n\u00famero inteiro!\")\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Valida\u00e7\u00e3o de entrada usando o m\u00f3dulo&nbsp;<code>json<\/code><\/h4>\n\n\n\n<p>O m\u00f3dulo&nbsp;<code>json<\/code>&nbsp;inclui fun\u00e7\u00f5es que podem ser usadas para validar a entrada de dados em formato JSON. Por exemplo, voc\u00ea pode usar a fun\u00e7\u00e3o&nbsp;<code>json.loads()<\/code>&nbsp;para verificar se uma entrada \u00e9 um objeto JSON v\u00e1lido:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>json_string = input(\"Digite uma string JSON v\u00e1lida: \")\nif json.loads(json_string):\n    print(\"A entrada \u00e9 v\u00e1lida!\")\nelse:\n    print(\"A entrada n\u00e3o \u00e9 v\u00e1lida!\")<\/code><\/pre>\n\n\n\n<p>Em resumo, existem muitas maneiras de validar a entrada de dados em Python, e a escolha da t\u00e9cnica mais adequada depende do tipo de entrada e das necessidades do programa. No entanto, independentemente da t\u00e9cnica escolhida, \u00e9 importante garantir que o programa receba dados de entrada v\u00e1lidos e leg\u00edveis para evitar problemas no funcionamento do programa.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Acessando_o_valor_de_input_em_um_dicionario_em_Python\"><\/span>Acessando o valor de input em um dicion\u00e1rio em Python<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Em Python, \u00e9 poss\u00edvel armazenar os valores de entrada do usu\u00e1rio em um dicion\u00e1rio. Isso pode ser \u00fatil em situa\u00e7\u00f5es em que precisamos armazenar uma s\u00e9rie de valores de entrada em um formato organizado.<\/p>\n\n\n\n<p>Para acessar o valor de entrada de um dicion\u00e1rio, fazemos uso da sintaxe&nbsp;<code>dicionario[chave]<\/code>, onde&nbsp;<code>chave<\/code>&nbsp;\u00e9 a chave correspondente ao valor de entrada desejado. Por exemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>palavras = {}\npalavras&#091;\"frase1\"] = input(\"Digite uma frase: \")\npalavras&#091;\"frase2\"] = input(\"Digite outra frase: \")\n\nprint(\"A frase digitada \u00e9:\", palavras&#091;\"frase1\"])\nprint(\"A frase digitada \u00e9:\", palavras&#091;\"frase2\"])<\/code><\/pre>\n\n\n\n<p>Neste exemplo, estamos criando um dicion\u00e1rio vazio chamado&nbsp;<code>palavras<\/code>. Em seguida, estamos adicionando duas chaves&nbsp;<code>frase1<\/code>&nbsp;e&nbsp;<code>frase2<\/code>&nbsp;com os valores de entrada do usu\u00e1rio. Em seguida, estamos acessando os valores da chave&nbsp;<code>frase1<\/code>&nbsp;e&nbsp;<code>frase2<\/code>&nbsp;e exibindo-os na tela.<\/p>\n\n\n\n<p>Al\u00e9m disso, \u00e9 poss\u00edvel acessar um valor de entrada diretamente do dicion\u00e1rio sem atribu\u00ed-lo a uma vari\u00e1vel. Neste exemplo, estamos diretamente acessando os valores de entrada do usu\u00e1rio diretamente do dicion\u00e1rio&nbsp;<code>palavras<\/code>, veja:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>palavras = {}\npalavras&#091;\"frase1\"] = input(\"Digite uma frase: \")\npalavras&#091;\"frase2\"] = input(\"Digite outra frase: \")\n\nprint(\"A frase digitada \u00e9:\", palavras&#091;\"frase1\"])\nprint(\"A frase digitada \u00e9:\", palavras&#091;\"frase2\"])<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Exemplos_de_uso_para_programas_simples\"><\/span>Exemplos de uso para programas simples<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Existem muitas formas de usar a fun\u00e7\u00e3o&nbsp;<code>input<\/code>&nbsp;em Python para coletar dados do usu\u00e1rio e usar esses dados em um programa. Dessa forma, aqui est\u00e3o alguns exemplos:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Coletar um n\u00famero inteiro do usu\u00e1rio:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>numero = input(\"Digite um n\u00famero inteiro: \")\nprint(\"O n\u00famero que voc\u00ea digitou \u00e9\", numero)<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li>Coletar uma string do usu\u00e1rio:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>texto = input(\"Digite uma string: \")\nprint(\"A string que voc\u00ea digitou \u00e9\", texto)<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li>Coletar duas strings do usu\u00e1rio e concaten\u00e1-las:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>nome = input(\"Digite seu nome: \")\nsobrenome = input(\"Digite seu sobrenome: \")\nprint(\"Seu nome e sobrenome s\u00e3o\", nome + \" \" + sobrenome)<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li>Coletar um n\u00famero inteiro e mostrar um mensagem se esse n\u00famero for par ou \u00edmpar:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>numero = input(\"Digite um n\u00famero inteiro: \")\nif numero % 2 == 0:\n    print(\"O n\u00famero que voc\u00ea digitou \u00e9 par\")\nelse:\n    print(\"O n\u00famero que voc\u00ea digitou \u00e9 \u00edmpar\")<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"5\">\n<li>Coletar uma string e percorrer todas as letras e adicionar uma v\u00edrgula ap\u00f3s a primeira letra de cada palavra:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>texto = input(\"Digite uma string: \")\nresposta = \"\"\nfor letra in texto:\n    if letra.isalpha():\n        resposta += letra + \".\"\n    else:\n        resposta += letra\nprint(\"A string com as primeiras letras de cada palavra e uma v\u00edrgula ap\u00f3s elas \u00e9: \", resposta)<\/code><\/pre>\n\n\n\n<p>Estes exemplos s\u00e3o apenas uma pequena amostra de como o&nbsp;<code>input<\/code>&nbsp;pode ser usado em conjunto com outras fun\u00e7\u00f5es do Python, como&nbsp;<code><a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/for-em-python\/\">for<\/a><\/code>,&nbsp;<code><a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/len-python\/\">len<\/a><\/code>,&nbsp;<code>if-else<\/code>,&nbsp;<code><a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/python-while\/\">while<\/a><\/code>, para coletar dados do usu\u00e1rio e fazer algumas opera\u00e7\u00f5es com esses dados.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Tipos_de_input_em_Python\"><\/span>Tipos de input em Python <span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Python oferece v\u00e1rios tipos de entrada para programas, incluindo:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Por teclado<\/strong>: Com a fun\u00e7\u00e3o &#8216;input()&#8217; podemos utilizara-la para coletar dados do usu\u00e1rio atrav\u00e9s do teclado.<\/li>\n\n\n\n<li><strong>Arquivo<\/strong>: Python permite ler dados de arquivos, como texto e n\u00fameros, e usar esses dados em programas.<\/li>\n\n\n\n<li><strong>URL<\/strong>: Podemos utilizar para ler dados de fontes externas, como URLs, e usar essas informa\u00e7\u00f5es em programas.<\/li>\n\n\n\n<li><strong>Streams<\/strong>: Python tamb\u00e9m permite ler dados de fontes de entrada em fluxo, como dispositivos de entrada serial, e usar essas informa\u00e7\u00f5es em programas.<\/li>\n\n\n\n<li><strong>Entrada de linha de comando<\/strong>: Python permite ler dados de linha de comando, como argumentos de linha de comando passados para o programa.<\/li>\n\n\n\n<li><strong>Entrada de uma fun\u00e7\u00e3o<\/strong>: Python permite que uma fun\u00e7\u00e3o retorne dados de entrada como argumentos.<\/li>\n<\/ol>\n\n\n\n<p>Assim, esses s\u00e3o alguns dos tipos de entrada dispon\u00edveis em Python, e cada um deles tem suas pr\u00f3prias vantagens e usos espec\u00edficos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Tecnicas_avancadas_de_input_em_Python\"><\/span>T\u00e9cnicas avan\u00e7adas de input em Python<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Existem v\u00e1rias t\u00e9cnicas avan\u00e7adas de entrada em Python que podem ser \u00fateis em diferentes situa\u00e7\u00f5es. Aqui est\u00e3o algumas dessas t\u00e9cnicas:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Lecture (Leitura):<\/strong> Podemos utilizar essa t\u00e9cnica para ler dados de uma fonte de entrada de arquivo, entrada escrita pelo usu\u00e1rio ou dados de uma API. O m\u00f3dulo&nbsp;<code>csv<\/code>&nbsp;de Python \u00e9 \u00fatil para ler dados de arquivo CSV. O m\u00f3dulo&nbsp;<code>input<\/code>&nbsp;tamb\u00e9m pode ser usado para ler entrada do usu\u00e1rio.<\/li>\n\n\n\n<li><strong>Entry (Inserir dados):<\/strong> Podemos utilizar essa t\u00e9cnica para inserir dados em uma tabela ou base de dados. O m\u00f3dulo&nbsp;<code>sqlite3<\/code>&nbsp;de Python \u00e9 \u00fatil para inserir dados em uma base de dados SQLite. O m\u00f3dulo&nbsp;<code>psycopg2<\/code>&nbsp;\u00e9 \u00fatil para inserir dados em uma base de dados PostgreSQL.<\/li>\n\n\n\n<li><strong>Extract (Extrato):<\/strong> Podemos utilizar essa t\u00e9cnica para extrair informa\u00e7\u00f5es de um arquivo ou dados de uma API. O m\u00f3dulo<a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/pandas-python\/\">\u00a0<code>pandas<\/code><\/a>\u00a0de Python \u00e9 \u00fatil para extrair informa\u00e7\u00f5es de um arquivo CSV. O m\u00f3dulo\u00a0<code>requests<\/code>\u00a0pode ser usado para fazer solicita\u00e7\u00f5es HTTP e extrair informa\u00e7\u00f5es de uma API.<\/li>\n\n\n\n<li><strong>Analyse (An\u00e1lise):<\/strong> Podemos utilizar essa t\u00e9cnica para analisar dados. O m\u00f3dulo&nbsp;<code>pandas<\/code>&nbsp;de Python \u00e9 \u00fatil para realizar opera\u00e7\u00f5es de an\u00e1lise de dados. O m\u00f3dulo&nbsp;<code>numpy<\/code>&nbsp;\u00e9 \u00fatil para realizar c\u00e1lculos matem\u00e1ticos em vetores e matrizes.<\/li>\n\n\n\n<li><strong>Sort (Classifica\u00e7\u00e3o): <\/strong>Podemos utilizar essa t\u00e9cnica para classificar dados. O m\u00f3dulo&nbsp;<code>pandas<\/code>&nbsp;de Python \u00e9 \u00fatil para classificar dados com base em uma ou mais colunas.<\/li>\n\n\n\n<li><strong>Filter (Filtro):<\/strong> Podemos utilizar essa t\u00e9cnica para filtrar dados. O m\u00f3dulo&nbsp;<code>pandas<\/code>&nbsp;de Python \u00e9 \u00fatil para filtrar dados com base em uma ou mais colunas.<\/li>\n\n\n\n<li><strong>Join (Junte):<\/strong> Usamos o m\u00f3dulo&nbsp;<code>pandas<\/code>&nbsp;de Python \u00e9 \u00fatil para unir conjuntos de dados com base em uma ou mais colunas.<\/li>\n<\/ol>\n\n\n\n<p>Essas s\u00e3o apenas algumas das t\u00e9cnicas avan\u00e7adas de entrada em Python. Cada t\u00e9cnica tem suas pr\u00f3prias vantagens e desvantagens, e a escolha da t\u00e9cnica correta depende do conjunto de dados espec\u00edfico e do problema em quest\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Consideracoes_importantes_ao_usar_input_em_programas_Python\"><\/span>Considera\u00e7\u00f5es importantes ao usar input em programas Python<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Quando se usa a fun\u00e7\u00e3o&nbsp;<code>input()<\/code>&nbsp;em programas Python, \u00e9 importante considerar algumas quest\u00f5es importantes para garantir que o c\u00f3digo funcione corretamente e seja seguro. Aqui est\u00e3o algumas dessas considera\u00e7\u00f5es:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1. Valida\u00e7\u00e3o de entrada<\/h4>\n\n\n\n<p>Nesse sentido, \u00e9 importante validar a entrada do usu\u00e1rio para garantir que ela seja do tipo e do formato esperado. Dessa forma, podemos utilizar express\u00f5es regulares ou verificando o tipo de dado. Por exemplo, se esperamos que o usu\u00e1rio digite um n\u00famero inteiro, voc\u00ea pode verificar se a entrada \u00e9 um n\u00famero inteiro usando a fun\u00e7\u00e3o&nbsp;<code>int()<\/code>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2. Limita\u00e7\u00e3o de comprimento<\/h4>\n\n\n\n<p>Se voc\u00ea est\u00e1 solicitando que o usu\u00e1rio digite uma string, \u00e9 importante limitar o comprimento da string para evitar buffer overflow. Dessa forma, \u00e9 poss\u00edvel utilizar a fun\u00e7\u00e3o&nbsp;<code>len()<\/code>&nbsp;para obter o comprimento da string e verificar se ela \u00e9 menor que um limite espec\u00edfico.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">3. Separa\u00e7\u00e3o de entrada e sa\u00edda<\/h4>\n\n\n\n<p>\u00c9 importante separar a entrada do usu\u00e1rio da sa\u00edda do programa para que o usu\u00e1rio possa interagir com o programa de forma clara. Voc\u00ea pode fazer isso criando uma fun\u00e7\u00e3o separada para a entrada e outra fun\u00e7\u00e3o para a sa\u00edda.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">4. Seguran\u00e7a<\/h4>\n\n\n\n<p>\u00c9 importante evitar que o usu\u00e1rio envie c\u00f3digo malicioso ou explica\u00e7\u00f5es ao programa. Portanto, Voc\u00ea pode fazer isso usando t\u00e9cnicas como valida\u00e7\u00e3o de entrada e limita\u00e7\u00e3o de comprimento. Tamb\u00e9m \u00e9 importante evitar a execu\u00e7\u00e3o de c\u00f3digo do usu\u00e1rio, por exemplo, evitando a utiliza\u00e7\u00e3o de fun\u00e7\u00f5es como&nbsp;<code>eval()<\/code>&nbsp;e&nbsp;<code>exec()<\/code>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">5. Erro de digita\u00e7\u00e3o<\/h4>\n\n\n\n<p>\u00c9 importante lidar com erros de digita\u00e7\u00e3o, como digitar um n\u00famero inv\u00e1lido ou uma string vazia. Assim, Isso pode ser feito usando uma exce\u00e7\u00e3o, como&nbsp;<code>ValueError<\/code>, para capturar o erro e exibir uma mensagem de erro para o usu\u00e1rio.<\/p>\n\n\n\n<p>Dessa forma quando se usa a fun\u00e7\u00e3o&nbsp;<code>input()<\/code>&nbsp;em programas Python, \u00e9 importante considerar quest\u00f5es de valida\u00e7\u00e3o de entrada, limita\u00e7\u00e3o de comprimento, separa\u00e7\u00e3o de entrada e sa\u00edda, seguran\u00e7a e erro de digita\u00e7\u00e3o para garantir que o c\u00f3digo funcione corretamente e seja seguro.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusao\"><\/span>Conclus\u00e3o<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Em conclus\u00e3o, a entrada em Python \u00e9 uma habilidade fundamental para qualquer desenvolvedor Python. A fun\u00e7\u00e3o&nbsp;<code>input()<\/code>&nbsp;\u00e9 uma ferramenta poderosa para coletar dados da entrada do usu\u00e1rio, mas \u00e9 importante considerar quest\u00f5es de valida\u00e7\u00e3o de entrada, limita\u00e7\u00e3o de comprimento, separa\u00e7\u00e3o de entrada e sa\u00edda, seguran\u00e7a e erro de digita\u00e7\u00e3o para garantir que o c\u00f3digo funcione corretamente e seja seguro. Com uma boa compreens\u00e3o de como funciona a entrada em Python, assim \u00e9 poss\u00edvel criar programas mais eficientes e robustos para lidar com a entrada do usu\u00e1rio.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A entrada de dados \u00e9 uma parte fundamental de qualquer programa, e a fun\u00e7\u00e3o input em Python, fornece uma maneira f\u00e1cil de obter dados do usu\u00e1rio. Dessa forma, essa fun\u00e7\u00e3o permite que o programador solicite que o usu\u00e1rio digite uma entrada, que pode ser uma string, um n\u00famero inteiro, decimal ou uma string com d\u00edgitos [&hellip;]<\/p>\n","protected":false},"author":33,"featured_media":10356,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_helpful_status":1,"_lmt_disableupdate":"","_lmt_disable":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[211],"tags":[],"class_list":["post-10324","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-pythondjango"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Input python: Como validar e manipular dados do usu\u00e1rio | Homehost<\/title>\n<meta name=\"description\" content=\"Aprenda a usar a fun\u00e7\u00e3o &#039;input()&#039; em Python para obter dados do usu\u00e1rio. Colete diferentes tipos de entrada, valide e manipule dados.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Input python: Como validar e manipular dados do usu\u00e1rio | Homehost\" \/>\n<meta property=\"og:description\" content=\"Aprenda a usar a fun\u00e7\u00e3o &#039;input()&#039; em Python para obter dados do usu\u00e1rio. Colete diferentes tipos de entrada, valide e manipule dados.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Homehost\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Homehost\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-01T10:06:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-09-02T20:47:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/07\/input-python-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Sch\u00eania T\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Homehost\" \/>\n<meta name=\"twitter:site\" content=\"@Homehost\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sch\u00eania T\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/\",\"name\":\"Input python: Como validar e manipular dados do usu\u00e1rio | Homehost\",\"isPartOf\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/07\/input-python-1.png\",\"datePublished\":\"2023-08-01T10:06:59+00:00\",\"dateModified\":\"2023-09-02T20:47:08+00:00\",\"author\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/880e31fe4f09cfa53d60a46d9c2010aa\"},\"description\":\"Aprenda a usar a fun\u00e7\u00e3o 'input()' em Python para obter dados do usu\u00e1rio. Colete diferentes tipos de entrada, valide e manipule dados.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/#primaryimage\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/07\/input-python-1.png\",\"contentUrl\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/07\/input-python-1.png\",\"width\":1080,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/www.homehost.com.br\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Input python: Como validar e manipular dados do usu\u00e1rio\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#website\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/\",\"name\":\"Homehost\",\"description\":\"Hospedagem De Sites\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.homehost.com.br\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/880e31fe4f09cfa53d60a46d9c2010aa\",\"name\":\"Sch\u00eania T\",\"description\":\"Cientista de dados, apaixonada por ferramentas de tecnologia e games. Graduanda em Estat\u00edstica pela UFPB. Seu hobby \u00e9 maratonar s\u00e9ries, curtir uma boa m\u00fasica trabalhando ou cozinhando, ir ao cinema e aprender coisas novas! Contato: schenia.blog@homehost.com.br\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Input python: Como validar e manipular dados do usu\u00e1rio | Homehost","description":"Aprenda a usar a fun\u00e7\u00e3o 'input()' em Python para obter dados do usu\u00e1rio. Colete diferentes tipos de entrada, valide e manipule dados.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/","og_locale":"pt_BR","og_type":"article","og_title":"Input python: Como validar e manipular dados do usu\u00e1rio | Homehost","og_description":"Aprenda a usar a fun\u00e7\u00e3o 'input()' em Python para obter dados do usu\u00e1rio. Colete diferentes tipos de entrada, valide e manipule dados.","og_url":"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/","og_site_name":"Homehost","article_publisher":"https:\/\/www.facebook.com\/Homehost\/","article_published_time":"2023-08-01T10:06:59+00:00","article_modified_time":"2023-09-02T20:47:08+00:00","og_image":[{"width":1080,"height":1080,"url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/07\/input-python-1.png","type":"image\/png"}],"author":"Sch\u00eania T","twitter_card":"summary_large_image","twitter_creator":"@Homehost","twitter_site":"@Homehost","twitter_misc":{"Escrito por":"Sch\u00eania T","Est. tempo de leitura":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/","url":"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/","name":"Input python: Como validar e manipular dados do usu\u00e1rio | Homehost","isPartOf":{"@id":"https:\/\/www.homehost.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/#primaryimage"},"image":{"@id":"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/#primaryimage"},"thumbnailUrl":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/07\/input-python-1.png","datePublished":"2023-08-01T10:06:59+00:00","dateModified":"2023-09-02T20:47:08+00:00","author":{"@id":"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/880e31fe4f09cfa53d60a46d9c2010aa"},"description":"Aprenda a usar a fun\u00e7\u00e3o 'input()' em Python para obter dados do usu\u00e1rio. Colete diferentes tipos de entrada, valide e manipule dados.","breadcrumb":{"@id":"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/#primaryimage","url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/07\/input-python-1.png","contentUrl":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/07\/input-python-1.png","width":1080,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/www.homehost.com.br\/blog\/pythondjango\/input-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.homehost.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Input python: Como validar e manipular dados do usu\u00e1rio"}]},{"@type":"WebSite","@id":"https:\/\/www.homehost.com.br\/blog\/#website","url":"https:\/\/www.homehost.com.br\/blog\/","name":"Homehost","description":"Hospedagem De Sites","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.homehost.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/880e31fe4f09cfa53d60a46d9c2010aa","name":"Sch\u00eania T","description":"Cientista de dados, apaixonada por ferramentas de tecnologia e games. Graduanda em Estat\u00edstica pela UFPB. Seu hobby \u00e9 maratonar s\u00e9ries, curtir uma boa m\u00fasica trabalhando ou cozinhando, ir ao cinema e aprender coisas novas! Contato: schenia.blog@homehost.com.br"}]}},"modified_by":"Sch\u00eania T","jetpack_featured_media_url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/07\/input-python-1.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/10324","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/users\/33"}],"replies":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/comments?post=10324"}],"version-history":[{"count":10,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/10324\/revisions"}],"predecessor-version":[{"id":11066,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/10324\/revisions\/11066"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/media\/10356"}],"wp:attachment":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/media?parent=10324"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/categories?post=10324"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/tags?post=10324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}