Como limitar a entrada de dados em Python para números 1, 2 e 3 apenas?
limitar input number
limitar input number - Como limitar a entrada de dados em Python para números 1, 2 e 3 apenas?
Como limitar a entrada de dados em Python para números 1, 2 e 3 apenas?
Como fazer o input em Python só receber números inteiros de 1 a 10?
Como limitar input para receber apenas número no Python?
Como limitar as casas decimais em input Python?
Como fazer o input aceitar apenas números positivos em Python?
Como limitar um input do tipo Number para apenas 3 caracteres em Python?
Como limitar valor mínimo e máximo na entrada de número no Python?
***************************************************
1 número 154 1.3 % 6
2 input 153 1.1 % 5
3 python 146 1.2 % 6
4 para 140 0.8 % 4
5 print 122 0.9 % 5
6 como 109 0.6 % 4
7 numero 100 0.8 % 6
8 números 95 0.9 % 7
9 valor 93 0.7 % 5
10 lista 82 0.6 % 5
*************************************************
Aproximadamente 80.900 resultados (0,29 segundos)
Limitar input apenas a números | Python - Alura
https://cursos.alura.com.br › forum › topico-limitar-inp...
6 de fev. de 2019 — ... xp | 2 posts. Software Engineer. Tentativa 1 de 3 digite o seu número: a Você digitou: a Traceback (most recent call last): File ...
2 respostas
· Você pode usar o try com dois except, dessa forma: ehNumero = False while (ehNumero == False): chute = input("Digite o seu número: ") try: int(chute) ...
Não tô conseguindo limitar o intervalo com somente inteiros ...
15 de abr. de 2020
Como fazer o input do usuário só aceitar inteiros entre 1 e 10
13 de abr. de 2020
Limitar a quantidade de casas decimais - Alura
30 de mar. de 2021
Mais resultados de cursos.alura.com.br
Limitar Input de números Python 3 - Stack Overflow
https://pt.stackoverflow.com › questions › limitar-input-...
13 de dez. de 2018 · 1 resposta
Basta fazer uma condição: if 0 <= num <= 2000: # Faça algo. Se quer solicitar ao usuário uma nova entrada enquanto o valor for inválido, ...
Limitando a quantidade de caracteres em uma string em Python
30 de mai. de 2018
Limitar quantidade de números em um input - python
22 de set. de 2019
python - Como permitir apenas um intervalo de números?
26 de fev. de 2017
Preciso de ajuda para limitar a quantidade de caracteres em ...
11 de out. de 2018
Mais resultados de pt.stackoverflow.com
As pessoas também perguntam
Como limitar a entrada de dados em Python?
Como fazer o input em Python só receber números inteiros de 1 a 10?
O que fazemos é ler a entrada do usuário e caso o número informado não esteja dentro dos parâmetros, ou seja, caso ele seja menor que 1 ou maior que 10, repetimos(while) o procedimento para que o usuário digite o número até que ele seja válido.13 de abr. de 2020
Como fazer o input do usuário só aceitar inteiros entre 1 e 10 | Python
https://cursos.alura.com.br › forum › topico-como-fazer-o...
Pesquisar: Como fazer o input em Python só receber números inteiros de 1 a 10?
Como limitar o valor de uma variável no Python?
Como funciona o input em Python?
Como usar o Isnumeric em Python?
Use o método isnumeric() para verificar se a entrada é um inteiro ou não. O método isnumeric() da string retorna True se a string contém apenas números. No entanto, é importante notar que falha com valores negativos. Isso ocorre porque ele retorna automaticamente False quando encontra o sinal - em inteiros negativos.30 de mar. de 2021
Verifique se a entrada é inteira em Python - Delft Stack
https://www.delftstack.com › howto › user-input-int-python
Pesquisar: Como usar o Isnumeric em Python?
Como receber dois valores Python?
Como usar Isalnum em Python?
Como se usa IsNumeric?
Retorna um valor Boolean indicando se um expressão pode ser avaliado como um número. A expressão necessária argumento é um Variant que contém um expressão numérica ou expressão de cadeia de caracteres. IsNumeric retornará True se a expressão inteira for reconhecida como um número; caso contrário, ele retornará False.
Função IsNumeric - Microsoft Support
https://support.microsoft.com › pt-br › office
Pesquisar: Como se usa IsNumeric?
Feedback
***Saiba como limitar input python - Direto ao Ponto
https://diretoaoponto-tech.com.br › limitar input python
Como limitar a entrada de dados em Python para números 1, 2 e 3 apenas? Como fazer o input em Python só receber números inteiros de 1 a 10? Como limitar input ...
Você visitou esta página 3 vezes. Última visita: 06/07/22
1.9. Entrada e Saída — Resolução de Problemas ... - Panda
https://panda.ime.usp.br › pythonds_pt › 09-entradaSaida
A função input do Python recebe um único parâmetro que é uma string. ... 2. print("Seu nome todo em maiúsculas é", umNome.upper(),. 3.
Números reais — Introdução à Computação com Python
https://panda.ime.usp.br › static › 07-reais
Leia sobre o tipo float na seção Variáveis de tipos de dados. ... Dado um número inteiro n>0, determinar o número harmônico Hn dado por. Hn=1+12+13+14+…+1n.
Exercício Python #104 - Validando entrada de dados em Python
https://www.youtube.com › watch
Prévia
8:19
Curso de Python 3 - Mundo 3: Estruturas Compostas ... Ex: n = leiaInt('Digite um n: ') Veja o curso de Python PARTE 1 em ...
YouTube · Curso em Vídeo · 17 de dez. de 2018
Faça um programa que leia uma quantidade - IC-Unicamp
https://www.ic.unicamp.br › pdf › class › 2019-1
PDF
A entrada de dados deverá terminar quando for lido um número ... print(numeros_positivos(n)) listas:append. Tentativa 2. 3 ... for y in range(26,51,1):.
35 páginas
Como limitar números decimais em Python? - Hora de Codar
https://www.horadecodar.com.br › 2020/04/23 › como-...
23 de abr. de 2020 — Também é possível utilizar o recurso de format, que veio na versão 3 do Python. Tornando ainda mais fácil formatar o número com casa decimal ...
Entrada de Dados e Resolvendo os Primeiros Exercícios
https://neps.academy › blog › python-3:-entrada-de-da...
31 de mar. de 2018 — Nessa lição vamos aprender como processar entrada de dados pelo teclado. Entrada de Dados. Em Python 3, diferente de outras linguagens a leitura ...
Entrada de Dados em Python - eXcript
http://excript.com › python › entrada-dados-python
7 de mai. de 2016 — A partir da versão 3 do Python, a função input(), tem por objetivo de escrever a String passada como parâmetro e em seguida, ativar o modo ...
Não encontrados: limitar | Precisa incluir: limitar
Exemplo De Programas Em Python - Curso Online Prático De...
Anúncio·https://www.udemy.com/
Python do básico ao avançado c/ Expressões Lambdas, Iteradores, Geradores e muito mais! Se junte aos 40 milhões de alunos que aprendem com a Udemy. Com garantia de 30 dias.
Todos os cursos de Python · O que é a Udemy? · Cursos novos em alta · Cursos De Design
Cursos de Negócios
- A partir de R$ 22,90 - Aprenda com especialistas ·
Mais
As pessoas também perguntam
O que é Flag no Python?
Quais são as estruturas de repetição Python?
Como identificar o maior número em Python?
Como fazer média aritmética no Python?
Feedback
Pesquisas relacionadas
limitar caracteres input python
isnumeric python
limitar casas decimais input python
variável aceitar somente número em c
truncar número python
input de números python
input somente números inteiros
entrada e saída python
*****************************************************************
Limitar input apenas a números
Publicado 4 anos atrás , em 06/02/2019
Programação Python Python: começando com a linguagem
Referente ao curso Python: começando com a linguagem, no capítulo A sequência do jogo e atividade Arquivos do projeto atual
por Daniel Camboim | 42.0k xp | 2 posts
Software Engineer
Tentativa 1 de 3 digite o seu número: a Você digitou: a Traceback (most recent call last): File "C:/Users/andre/PycharmProjects/jogo/adivinhacao.py", line 14, in chute = int(chute_str) ValueError: invalid literal for int() with base 10: 'a'
Process finished with exit code 1
2 respostas
por Guilherme Carvalho | 207.6k xp | 4 posts
Engenheiro Civil
06/02/2019
Você pode usar o try com dois except, dessa forma:
ehNumero = False
while (ehNumero == False):
chute = input("Digite o seu número: ")
try:
int(chute)
print("O chute é um número!")
ehNumero = True
except ValueError:
try:
float(chute)
print("O chute é um número!")
ehNumero = True
except ValueError:
print("O valor não é um número")
por Luan Henrique Guerra de Gregori | 175.2k xp | 6 posts
06/02/2019
Bom dia, pode ser feito desta maneira
while True:
n = input("Digite um numero: ")
if n.isnumeric():
print('Voce digitou o numero ' + n)
break
else:
continue
#se quiser coloque uma mensagem de erro
***********************************************************
Não tô conseguindo limitar o intervalo com somente inteiros positivos de 1 a 10
Publicado 2 anos atrás , em 14/04/2020
Programação Python Python: avançando na linguagem
Referente ao curso Python: avançando na linguagem, no capítulo Conhecendo e trabalhando com tuplas e atividade Arquivos do projeto atual
por Nayma da Luz Santos | 28.0k xp | 35 posts
Oi gente!!! não tô conseguindo limitar o intervalo de 1 a 10 e só inteiros positivos. Alguém dá um help, não consegui usar o "for"
# coding=utf-8
print("***********************")
print("*** Qual é o maior? ***")
print("***********************")
print("Escolha três números (a,b e c) entre 1 e 10.")
num = 1
total_insercao = 3
insercao_atual = 1
for insercao_atual in range(1, insercao_atual + 1):
numero_a = int(input("Escolha o número a: "))
numero_b = int(input("Escolha o número b: "))
numero_c = int(input("Escolha o número c: "))
if(num < 0 or num > 10 ):
print("Você deve digitar um número entre entre 1 e 10!")
continue
maior_numero = numero_a
if(numero_b > maior_numero):
maior_numero = numero_b
if(numero_c > maior_numero):
maior_numero = numero_c
print('O maior número entre a, b e c é: ', maior_numero)
print("Fim")
2 respostas
solução!
por Nádia Oliveira | 1420.2k xp | 2291 posts
Instrutor Líder Técnica da Alura
15/04/2020
Oi Nayma, tudo bem?
Respondi este tópico neste link, veja se te ajuda e caso não ajude, fique tranquila que tentarei outra abordagem. Tudo bem?!
Abraços e bons estudos!
por Nayma da Luz Santos | 28.0k xp | 35 posts
17/04/2020
oi Nádia!!! muito obrigada!!!
**************************************************************
Como fazer o input do usuário só aceitar inteiros entre 1 e 10
Publicado 2 anos atrás , em 13/04/2020
Programação Python Python: avançando na linguagem
Referente ao curso Python: avançando na linguagem, no capítulo Melhorando o código e a apresentação e atividade Organizando o código em funções
por Nayma da Luz Santos | 28.0k xp | 35 posts
Olá pessoal!!! não estou conseguindo fazer com que o input do usuário nesse código se limite a números inteiros e tem que ser entre 1 a 10. O código funciona porém aceitando decimais e números maiores que 10.
Segue o código:
# coding=utf-8
#escreva uma função que receba três parâmetros (a,b e c) inteiros e retorne o maior valor entre os argumentos passados
print("***********************")
print("*** Qual é o maior? ***")
print("***********************")
print("Escolha três números (a,b e c) do grupo abaixo:")
print('[1,2,3,4,5,6,7,8,9,10]')
numero_a = int(input("Escolha o número a: "))
numero_b = int(input("Escolha o número b: "))
numero_c = int(input("Escolha o número c: "))
if not 1 <= numero_a <= 10:
print('O número deve ser entre 1 e 10')
if not 1 <= numero_b <= 10:
print('O número deve ser entre 1 e 10')
if not 1 <= numero_c <= 10:
print('O número deve ser entre 1 e 10')
maior_numero = numero_a
if(numero_b > maior_numero):
maior_numero = numero_b
if(numero_c > maior_numero):
maior_numero = numero_c
print('O maior número entre a, b e c é: ', maior_numero)
print("Fim")
9 respostas
por Roni Alex Ruiz Serra | 103.4k xp | 9 posts
Tec TI 1
13/04/2020
Olá tubo bem contigo?
Acredito que você possa implementar um for ao receber os inputs para caso não for válido o input ele não grava a variável.
Tem algo parecido no jogo de adivinhar números inteiros da aula do Nico (alemão).
Atenciosamente
Roni Serra
por Nayma da Luz Santos | 28.0k xp | 35 posts
13/04/2020
Olá Roni! Eu tentei mas não estou conseguindo :(
por José Henrique Merlo | 100.6k xp | 40 posts
Estudante de Engenharia Elétrica
14/04/2020
Boa noite! Tente usar a estrutura de repetição while:
while numero_a < 1 or numero_a > 10:
numero_a = raw_input("Escolha o número A: ")
por Nayma da Luz Santos | 28.0k xp | 35 posts
15/04/2020
não funcionou :(
solução!
por Nádia Oliveira | 1420.2k xp | 2291 posts
Instrutor Líder Técnica da Alura
15/04/2020
Oi Nayma, tudo bem?
Tente o seguinte:
# coding=utf-8
#escreva uma função que receba três parâmetros (a,b e c) inteiros e retorne o maior valor entre os argumentos passados
print("***********************")
print("*** Qual é o maior? ***")
print("***********************")
print("Escolha três números (a,b e c) do grupo abaixo:")
print('[1,2,3,4,5,6,7,8,9,10]')
numero_a = int(input("Escolha o número a: "))
while numero_a < 1 or numero_a > 10:
numero_a = int(input("Número digitado não está dentro dos limites.\nEscolha o número a: "))
numero_b = int(input("Escolha o número b: "))
while numero_b < 1 or numero_b > 10:
numero_b = int(input("Número digitado não está dentro dos limites.\nEscolha o número b: "))
numero_c = int(input("Escolha o número c: "))
while numero_c < 1 or numero_c > 10:
numero_c = int(input("Número digitado não está dentro dos limites.\nEscolha o número c: "))
maior_numero = numero_a
if(numero_b > maior_numero):
maior_numero = numero_b
if(numero_c > maior_numero):
maior_numero = numero_c
print('O maior número entre a, b e c é: ', maior_numero)
print("Fim")
Observe o seguinte trecho:
numero_a = int(input("Escolha o número a: "))
while numero_a < 1 or numero_a > 10:
numero_a = int(input("Número digitado não está dentro dos limites.\nEscolha o número a: "))
O que fazemos é ler a entrada do usuário e caso o número informado não esteja dentro dos parâmetros, ou seja, caso ele seja menor que 1 ou maior que 10, repetimos(while) o procedimento para que o usuário digite o número até que ele seja válido. Pegou a ideia?
Resultado:
resultado
Qualquer dúvida é só falar. Abraços e bons estudos!
por Nayma da Luz Santos | 28.0k xp | 35 posts
17/04/2020
Oi Nádia!!!
Obaaaa o código agora não aceita mais números menores que 1 e maiores que 10 porém ele ainda aceita os decimais, o que pode ser feito?
por exemplo, quando digito: 1.5 ele aceita.
por Nayma da Luz Santos | 28.0k xp | 35 posts
17/04/2020
Nádia consegui!!!
Na linha : numero_a = int(input("Número digitado não está dentro dos limites.\nEscolha o número a: "))
eu mudei para: numero_a = raw_input("Número digitado não está dentro dos limites.\nEscolha o número a: ")
brigaduuuuuu
por Nádia Oliveira | 1420.2k xp | 2291 posts
Instrutor Líder Técnica da Alura
17/04/2020
Nayma, para ele não aceitar números decimais você pode dizer que só aceita números inteiros no input, por exemplo:
numero_a = int(input("Escolha o número a: "))
Daí quando for digitar números decimais será gerado um erro dizendo que aquele número não é inteiro:
***********************
*** Qual é o maior? ***
***********************
Escolha três números (a,b e c) do grupo abaixo:
[1,2,3,4,5,6,7,8,9,10]
Escolha o número a: 1.5
Traceback (most recent call last):
File "main.py", line 13, in
numero_a = int(input("Escolha o número a: "))
ValueError: invalid literal for int() with base 10: '1.5'
por Nádia Oliveira | 1420.2k xp | 2291 posts
Instrutor Líder Técnica da Alura
17/04/2020
Nayma, o raw_input() é nativo do Python versão 2. Na versão 3 ele foi substituído pelo input(). Provavelmente você está executando seu código no Python 2, por isso das divergências.
Abraços e bons estudos!
***********************************************************************
Limitar Input de números Python 3
Perguntada 3 anos, 9 meses atrás
Modified 3 anos, 9 meses atrás
Vista 7mil vezes
1
Usando o seguinte código quero limitar de 0 a 2000 o número que poderá ser informado pela varável num
import collections
num = int(input('Digite um número inteiro: ')) #Inputar número inteiro
binario = bin(num)[2:] #Cortar o 0b
sequence = binario
collection = collections.Counter(sequence)
print('O número binário de {} é {}'.format(num,binario))
print('A maior sequência de 0 é {}'.format(len(max(binario.split('1'),
key=len))))
Seria limitar o número a ser inputado na variável num.
pythonpython-3.x
Compartilhar
Melhore esta pergunta
Seguir
perguntada 13/12/2018 às 14:23
Thales Henrique's user avatar
Thales Henrique
12811 medalhas de prata1313 medalhas de bronze
Adicione um comentário
1 Resposta
Ordenado por:
4
Basta fazer uma condição:
if 0 <= num <= 2000:
# Faça algo
Se quer solicitar ao usuário uma nova entrada enquanto o valor for inválido, precisará de um laço infinito:
while True:
try:
num = int(input())
if not 0 <= num <= 2000:
raise ValueError('Valor fora do intervalo permitido')
break
except ValueError as error:
print(error)
Compartilhar
Melhore esta resposta
Seguir
***********************************************************************
Como permitir apenas um intervalo de números?
Perguntada 5 anos, 7 meses atrás
Modified 5 anos, 7 meses atrás
Vista 901 vezes
1
Eu estou fazendo um código de registro de número de notas de alunos, então quero que o usuário coloque um número entre um intervalo de 1 a 10, MAS também quero que os intervalos sejam em float(ou seja: 0.1,0.2... 9.8,9.9,10.0).
nota_1 = float(input("Digite a primeira nota de " + str(aluno_1) + ": "))
mat_aluno_nota [1][0] = nota_1
while nota_1 not in (0,1,2,3,4,5,6,7,8,9,10):
print("Digite um número entre 0 a 10")
Tem alguma maneira de eu fazer mais rápido sem ser colocando todos de um em um?
pythonpython-3.x
Compartilhar
Melhore esta pergunta
Seguir
perguntada 26/02/2017 às 1:02
Kenneth Anderson's user avatar
Kenneth Anderson
31311 medalhas de ouro66 medalhas de prata1919 medalhas de bronze
Adicione um comentário
1 Resposta
Ordenado por:
2
Podes fazer assim:
while True:
nota_1 = input("Digite a primeira nota de " + str(aluno_1) + ": ")
try:
nota_1 = float(nota_1)
except Exception as err:
print("Valor deve ser númerico")
else:
if 0 <= nota_1 <= 10:
mat_aluno_nota [1][0] = nota_1
break
print("Valor deve estar entre 0 e 10")
Compartilhar
Melhore esta resposta
Seguir
editada 26/02/2017 às 1:55
respondida 26/02/2017 às 1:33
Miguel's user avatar
Miguel
29,3mil55 medalhas de ouro3939 medalhas de prata7575 medalhas de bronze
Adicione um comentário
*************************************************************************
Preciso de ajuda para limitar a quantidade de caracteres em python kivy
Perguntada 3 anos, 11 meses atrás
Modified 3 anos, 11 meses atrás
Vista 2mil vezes
0
Estou com uma pequena quantidade, estou tentando limitar a quantidade de caracteres que podem ser digitados sem texto, por exemplo, um código de DDD, onde basta apenas 2 ou 3 dígitos, limitar para apenas no máximo 3 números, mas não estou obtindo, tentei realizar da Em segundo lugar, mas também não funcionou, a ideia era agora limitar pelo próprio script kivy, obrigado até mais pessoal: D
Código Kivy TextInput:
id: dd
pos_hint:{"center_x":.35, "center_y":.2}
size_hint:(.1,.05)
multiline:False
write_tab: False
input_filter:'int'
Python de código dd = self.root.ids.dd.text
dd = maxlength (2)
python-kivy
Compartilhar
Melhore esta pergunta
Seguir
perguntada 11/10/2018 às 19:46
Couzer's user avatar
Couzer
1777 medalhas de bronze
Recomendo ler: pt.stackoverflow.com/questions/303296/… –
Gunblades
11/10/2018 às 22:44
Possível duplicata de Limitando a quantidade de caracteres em uma string em Python –
Gunblades
11/10/2018 às 23:12
Adicione um comentário
1 Resposta
Ordenado por:
1
O tipo string é iterável no Python e permite acessar seu conteúdo via slices. Por exemplo, texto[1:5] iria retornar do primeiro ao quarto caractere de texto.
>>> print('anderson'[1:5])
nder
Se você omitir o primeiro valor, o Python irá entender que é zero, começando a partir do início do texto:
>>> print('anderson'[:5])
ander
Já, se o valor informado após os dois pontos exceder o tamanho do texto, será retornado apenas até o final do mesmo:
>>> print('anderson'[1:30])
nderson
Desta forma, para limitar um texto a um número N de caracteres, basta fazer texto[:N].
Leitura adicional:
"[-4:]" O que é essa sintaxe?
Limitando a quantidade de caracteres em uma string em Python
OBS:
No seu caso acho que o código que você quer ficaria +- assim :
n = input("Digite o numero com DDD: (sem caracteres especial)")
-Entrada: 0011111111
print ('DDD:',n[:2])
-Saida: DDD: 00
print ('numero:',n[2:])
-Saida: numero: 11111111
recomendo fazer um regEx ou uma mascara no seu input assim não corre risco do usuário digitar errado
Compartilhar
Melhore esta resposta
Seguir
editada 11/06/2020 às 14:45
Comunidade's user avatar
ComunidadeBot
1
respondida 11/10/2018 às 22:55
Gunblades's user avatar
Gunblades
73933 medalhas de prata1818 medalhas de bronze
Se a resposta é a mesma, basta você sinalizar a pergunta como duplicada. Não há porque ter múltiplas respostas com o mesmo conteúdo espalhado pelo site. Logo abaixo da pergunta há o botão "sinalizar", basta colocar que a pergunta deveria ser fechada por ser duplicada e indicar o link da outra pergunta. –
Woss
11/10/2018 às 23:07
Grata ^^ Sou nova usuária, ainda não sei como funciona o Stack –
Gunblades
11/10/2018 às 23:12
Adicione um comentário
****************************************************************************
Verifique se a entrada é inteira em Python
Criado: March-30, 2021
Use a função int() para verificar se a entrada é um número inteiro em Python
Use o método isnumeric() para verificar se a entrada é um inteiro ou não
Use as expressões regulares para verificar se a entrada é um número inteiro em Python
No mundo da programação, trabalhamos muito frequentemente com a entrada do usuário. Python tem a função input() disponível, que permite ao usuário inserir a entrada desejada. Às vezes, podemos querer a entrada de um tipo específico.
SIMPATIA PARA FICAR LINDA DE CORPO ...
Remaining Time -3:49
SIMPATIA PARA FICAR LINDA DE CORPO E ROSTO - Faça uma vez por mês, em toda Lua Cheia!
No entanto, essa função converte a entrada do usuário em uma string antes de compilá-la com o programa. Portanto, não é simples usar os métodos tradicionais para verificar tipos específicos com a entrada do usuário, e temos que verificar se a string contém números ou não essencialmente.
Neste tutorial, discutiremos como verificar se a entrada inserida pelo usuário é do tipo inteiro ou não.
Use a função int() para verificar se a entrada é um número inteiro em Python
A função int() pode converter um determinado valor inteiro de string em um tipo inteiro. Ele gera um erro se o valor desejado não for um inteiro e não puder ser convertido. Podemos usar este método para verificar se a string do usuário é um inteiro ou não, conforme mostrado abaixo.
user_input = input("Enter the input ")
try:
int(user_input)
it_is = True
except ValueError:
it_is = False
print(it_is)
Resultado:
Enter the input 15
True
Observe o uso do bloco try...except neste método. É usado com muita frequência ao lidar com exceções em Python.
Use o método isnumeric() para verificar se a entrada é um inteiro ou não
O método isnumeric() da string retorna True se a string contém apenas números. No entanto, é importante notar que falha com valores negativos. Isso ocorre porque ele retorna automaticamente False quando encontra o sinal - em inteiros negativos.
O código a seguir mostra como podemos usar esta função para verificar se uma string contém inteiros em Python.
user_input = input("Enter the input ")
print(user_input.isnumeric())
Resultado:
Enter the input 10
True
Também podemos usar a função isdigit() no lugar de isnumeric(); ele também tem as mesmas limitações deste método.
Use as expressões regulares para verificar se a entrada é um número inteiro em Python
Também podemos usar as expressões regulares para criar um padrão que retorna True sempre que encontra inteiros em uma string. Também podemos modificar o padrão para garantir que funcione com valores negativos. Por exemplo,
import re
user_input = input("Enter the input ")
num_format = re.compile(r'^\-?[1-9][0-9]*$')
it_is = re.match(num_format,user_input)
if it_is: print("True")
else: print("False")
Resultado:
Enter the input -15
True
Abaixo está a explicação do padrão de expressão regular - ^\-?[1-9][0-9]*$.
^ é o início da string
\-? indica que esse número pode ser negativo ou positivo.
[1-9] é o primeiro dígito do número. Deve ser um número entre 1 e 9, mas não 0.
[0-9]* indica os seguintes dígitos. O número de dígitos pode ser qualquer um, incluindo 0.
$ é o fim da string.
Artigo relacionado - Python String
Remover vírgulas da string em Python
Como verificar se uma string está vazia de uma forma pythonica
Converter uma string em nome de variável em Python
Como remover espaços em branco numa string em Python
Artigo relacionado - Python Input
Remover vírgulas da string em Python
Como verificar se uma string está vazia de uma forma pythonica
Converter uma string em nome de variável em Python
Como remover espaços em branco numa string em Python
Verifique se Set está vazio em Python
Verifique se a variável é Python inteiro
*****************************************************************
Como restringir número de caracteres máximo em uma input na linguagem Python?
20/05/2018
55
Python
print("HELLO WORLD"), queria restringir o número máximo de caracteres que uma pessoa pode utilizar em uma função "Input"
Ex:
txt = str(input("Digite uma letra: ")) #nesse código, quero que o usuário possa somente digitar uma letra, nada mais que isso.
Valeu rapaziada!
Gabriel Braga
Gabriel Braga
Curtir tópico
+ 0
Responder
Post mais votado
28/09/2018
Boa tarde Murdoch, você pode ler normalmente o dado de entrado e usar um loop while onde você verifica o tamanho da variável usando a função "len", se ela satisfazer o tamanho que você quer, vocÊ sai do loop, caso contrário continua.
******************************************************************************
Aceitar somente numéricos no input
Perguntada 4 anos, 11 meses atrás
Modified 1 ano, 6 meses atrás
Vista 11mil vezes
7
1
nota = -1
while nota < 0 or nota > 10:
nota = int(input("Informe a nota entre 0 e 10: "))
if nota < 0 or nota > 10:
print("Valor inválido")
Eu preciso incluir nesse código validação para, se caso o usuário digitar string (a,b,c,d,e,f...) ou caractere especial, ele mostre erro e solicite novamente o inteiro.
pythonstring
Compartilhar
Melhore esta pergunta
Seguir
editada 9/10/2017 às 19:35
Vinicius Brasil's user avatar
Vinicius Brasil
21,1mil1010 medalhas de ouro7474 medalhas de prata145145 medalhas de bronze
perguntada 9/10/2017 às 19:28
typemark's user avatar
typemark
12511 medalhas de ouro33 medalhas de prata99 medalhas de bronze
Adicione um comentário
4 Respostas
Ordenado por:
19
Basta você tratar a exceção que é disparada pelo int quando a conversão falhar:
while True:
try:
nota = int(input("Informe a nota entre 0 e 10: "))
if not 0 <= nota <= 10:
raise ValueError("Nota fora do range permitido")
except ValueError as e:
print("Valor inválido:", e)
else:
break
print(nota)
Veja funcionando no Repl.it
O while True garante que a leitura será efetuada até que o break seja executado; o try/except captura a exceção disparada pelo int, que é um ValueError, exibindo a mensagem de erro; se a exceção não é disparada, o bloco else é executado, parando o laço.
Compartilhar
Melhore esta resposta
Seguir
editada 9/10/2017 às 19:45
respondida 9/10/2017 às 19:32
Woss's user avatar
Woss
75,3mil1515 medalhas de ouro113113 medalhas de prata208208 medalhas de bronze
Anderson você é o cara, muito obrigado resolveu instantaneamente. –
typemark
9/10/2017 às 19:45
Adicione um comentário
2
Então, há outras maneiras de fazer. Uma delas é usar o input como string e reconhcer o tipo do valor lido. Isso pode ser feito assim:
nota = -1
while nota < 0 or nota > 10:
nota = input("Informe a nota entre 0 e 10: ")
if nota.isdigit():
if nota < 0 or nota > 10:
print("Valor inválido")
else:
print("Não parece ser um número")
Aqui tem uma referencia para isdigit.
Para versões do python anteriores a 3, pode ser necessario usar raw_input no lugar de input.
Compartilhar
Melhore esta resposta
Seguir
respondida 22/12/2017 às 1:52
Juven_v's user avatar
Juven_v
2.62911 medalhas de ouro1111 medalhas de prata1717 medalhas de bronze
Adicione um comentário
1
nota = -1
while nota < 0 or nota > 10:
try:
nota = int(input("Informe a nota entre 0 e 10: "))
print("A nota foi:", nota)
break
except:
print("Valor inválido")
continue
O comando continue faz com que volte para o início do loop.
Compartilhar
Melhore esta resposta
Seguir
editada 29/01/2019 às 4:56
respondida 17/01/2019 às 14:48
Sara Lins's user avatar
Sara Lins
5311 medalhas de prata99 medalhas de bronze
1
Nesse caso, se a exceção é disparada, o valor de nota não é alterado, então o loop irá continuar mesmo sem o continue. Só faria sentido ali se houvesse mais código após o bloco try/except. –
Woss
17/01/2019 às 15:49
1
E talvez se fazer while not 0 < nota < 10 fique mais legível que while nota < 0 or nota > 10, mas isso está mais para opinião mesmo. –
Woss
17/01/2019 às 15:50
Adicione um comentário
0
Outra forma interessante de se resolver esta questão, com Python 3.8 ou superior é utilizando os conceitos de Assignment Expressions, abordados pela PEP 572.
Com esses conceitos poderemos reduzir bastante a quantidade de linhas no código. Desta forma o código pode ficar:
while not (nota := input(f'Nota entre "0" e "10": ')).isdigit() or (nota := int(nota)) < 0 or nota > 10:
print('Valor INVÁLIDO!')
print(nota)
Observe que o bloco while verifica três situações:
Verifica se a expressão atribuída à variável nota não é um dígito;
Verifica se a expressão atribuída à variável nota e convertida em inteiro é menor que 0;
Verifica se a expressão atribuída à variável nota e convertida em inteiro é maior que 10.
Caso uma das três verificações do bloco while seja True receberemos a mensagem: Valor INVÁLIDO! e seremos novamente solicitado uma nota entre "0" e "10".
Agora, caso as três verificações do bloco while sejam False, o laço de repetição será encerrado, sendo exibido o valor da nota digitada.
Compartilhar
Melhore esta resposta
Seguir
**************************************************************
Uma lista para receber 20 números inteiros e armazenar em uma lista e imprimir o maior elemento da lista
Perguntada 5 anos, 4 meses atrás
Modified 1 ano, 11 meses atrás
Vista 15mil vezes
1
n = int(input("digite o número : ")
I=0
For i in lista:
lista[i].append(input("digite o número"
I+=1
else:
Print("lista cheia")
Sou novo em Programação e não consigo implantar o que o questionário quer.
pythonpython-3.x
Compartilhar
Melhore esta pergunta
Seguir
editada 11/05/2017 às 13:22
Woss's user avatar
Woss
75,3mil1515 medalhas de ouro113113 medalhas de prata208208 medalhas de bronze
perguntada 10/05/2017 às 17:42
Edson Fonseca's user avatar
Edson Fonseca
6711 medalhas de ouro11 medalhas de prata66 medalhas de bronze
Adicione um comentário
4 Respostas
Ordenado por:
6
Para obter o maior valor em uma lista de números, existe a função nativa max:
numeros = [1, 2, 3, 4, 5]
print("Maior número da lista é:", max(numeros))
Retorna a mensagem:
Maior número da lista é: 5
Para gerar esta lista dinamicamente através da entrada do usuário, em Python, o mais fácil é utilizar compreensão de listas:
numeros = [int(input("Número: ")) for i in range(20)]
A linha de código acima pode ser melhor compeendida com um trecho de código semelhante, porém não análogo:
numeros = []
for i in range(20):
numeros.append(int(input("Número: ")))
O código final ficaria:
numeros = [int(input("Número: ")) for i in range(20)]
print("Maior número da lista é:", max(numeros))
Veja funcionando no Repl.it.
Compartilhar
Melhore esta resposta
Seguir
respondida 11/05/2017 às 13:42
Woss's user avatar
Woss
75,3mil1515 medalhas de ouro113113 medalhas de prata208208 medalhas de bronze
Adicione um comentário
0
x = 1
lista = []
print('Digite 20 números.')
while x <= 20:
n = int(input('Digite um número: [ %s ]: '%x))
lista.append(n)
x += 1
print('O maior valor é:',max(lista))
Compartilhar
Melhore esta resposta
Seguir
respondida 10/05/2017 às 18:37
Antony Gabriel's user avatar
Antony Gabriel
83355 medalhas de prata88 medalhas de bronze
1
Por favor, colabore com a qualidade do conteúdo da comunidade elaborando melhor sua resposta. Respostas muito curtas dificilmente serão suficientemente claras para acrescentar algo à discussão. Se sua resposta é baseada em alguma função ou característica da linguagem/ferramenta, faça a ligação com a documentação oficial ou material confiável que sustente sua resposta. Buscar perguntas semelhantes na comunidade também pode ser interessante para indicar outras abordagens do problema. –
Woss
11/05/2017 às 13:22
Adicione um comentário
0
lista = []
while len(lista)+1 <= 20:
lista.append(int(input("Digite um número: ")))
print ("O maior valor é: ", max(lista))
Compartilhar
Melhore esta resposta
Seguir
respondida 11/05/2017 às 13:16
skulden's user avatar
skulden
13111 medalhas de bronze
3
Por favor, colabore com a qualidade do conteúdo da comunidade elaborando melhor sua resposta. Respostas muito curtas dificilmente serão suficientemente claras para acrescentar algo à discussão. Se sua resposta é baseada em alguma função ou característica da linguagem/ferramenta, faça a ligação com a documentação oficial ou material confiável que sustente sua resposta. Buscar perguntas semelhantes na comunidade também pode ser interessante para indicar outras abordagens do problema. –
Woss
11/05/2017 às 13:22
Adicione um comentário
0
Podemos resolver esta questão desta forma:
maior = max([x for x in input('Digite os valores: ').split()])
print(f'O maior número da lista é: {maior}')
Quando executamos este código recebemos a seguinte mensagem: Digite os valores: . Neste momento devemos digitar todos os valores, na mesma linha, separados por um só espaço e pressionar enter.
Compartilhar
*************************************************************
Problema com entrada de mais de um número inteiro com input
Perguntada 3 anos, 7 meses atrás
Modified 3 anos, 7 meses atrás
Vista 241 vezes
0
Estou com problema para captar a entrada de mais de um número inteiro em um só input.
Ex:
numero = int(input('Digite o primeiro número aqui: '))
numero_1 = int(input('Digite o segundo número aqui: '))
numero_2 = int(input('Digite o terceiro número aqui: '))
lista_numeros = [numero, numero_1, numero_2]
Gostaria de transformar esses 3 input's em um só.
Ex:
numeros = int(input('Digite os números aqui: '))
lista_numeros = [numeros]
porém essa segunda execução dá erro de:
ValueError: invalid literal for int() with base 10: '1 2 3 5'
Eu acredito que pode ser por causa dos espaços entre os números.
pythonpython-3.xinput
Compartilhar
Melhore esta pergunta
Seguir
editada 23/02/2019 às 9:48
hkotsubo's user avatar
hkotsubo
62,4mil2323 medalhas de ouro7171 medalhas de prata132132 medalhas de bronze
perguntada 23/02/2019 às 3:00
Pedro Henrique's user avatar
Pedro Henrique
12511 medalhas de prata44 medalhas de bronze
Adicione um comentário
2 Respostas
Ordenado por:
2
Perceba que você deve fazer uma checagem antes para garantir que é um numero que esta vindo pela entrada, isto é feito pela função isdigit().
Veja abaixo o exemplo:
numeros = [int(v) for v in input('Valores: ').split() if v.isdigit()]
print(numeros)
Entrada:
1 32 3 55
Saída:
[1, 32, 3, 55]
A saída é uma lista de números inteiros que foram retornados separadamente por int(v) através da list comprehension, seguindo da condição especificada isdigit(s) que simplesmente verifica se o valor é um digito.
Veja funcionando no Repl.it.
Compartilhar
Melhore esta resposta
Seguir
editada 23/02/2019 às 4:13
respondida 23/02/2019 às 4:03
gato's user avatar
gato
23,2mil2424 medalhas de ouro107107 medalhas de prata232232 medalhas de bronze
Muito obrigado, agora ficou bem claro para mim. Só uma duvida que tive aqui, esse 'v' que foi definido é somente uma variável qualquer podendo ser X , Y ou Z por exemplo ? –
Pedro Henrique
23/02/2019 às 4:21
É sim, ela é criada no escopo da list comprehension e você pode dar o nome que quiser para a variável. Em uma notação em português: valor para valor em variaveInteravel –
gato
23/02/2019 às 4:23
Ok, muito obrigado pela ajuda!! –
Pedro Henrique
23/02/2019 às 4:23
Adicione um comentário
0
O que você pode fazer é capturar a linha de entrada, dividi-la em substrings nos espaços, e depois fazer o parse dos inteiros:
entrada = input('Digite os números aqui: ')
numeros = [int(i) for i in entrada.split(' ')]
Compartilhar
Melhore esta resposta
Seguir
editada 23/02/2019 às 3:19
respondida 23/02/2019 às 3:09
user140213's user avatar
user140213
2622 medalhas de bronze
Adicione um comentário
*************************************************************
Ler 10 números inteiros e obter o maior entre eles
Perguntada 4 anos, 11 meses atrás
Modified 8 meses atrás
Vista 16mil vezes
0
Usando uma função, faça um programa que leia 10 números inteiros e imprima na tela o maior deles. No caso de valores iguais, imprima qualquer um dos maiores. Caso o maior número seja múltiplo do primeiro número n lido, imprima n na tela. Dez números inteiros, considere que o primeiro número lido nunca será 0.
Alguém pode me ajudar nessa questão? Ainda sou leigo em Python.
n = int(input())
b = int(input())
c = int(input())
d = int(input())
e = int(input())
f = int(input())
g = int(input())
h = int(input())
i = int(input())
j = int(input())
lista = [n,b,c,d,e,f,g,h,i,j]
print (max(lista))
pythonpython-3.x
Compartilhar
Melhore esta pergunta
Seguir
editada 29/09/2017 às 14:16
Woss's user avatar
Woss
75,3mil1515 medalhas de ouro113113 medalhas de prata208208 medalhas de bronze
perguntada 29/09/2017 às 13:01
user92865's user avatar
user92865
911 medalhas de ouro11 medalhas de prata33 medalhas de bronze
Em fazer a parte dos multiplos, e na parte de "dez numeros inteiros, considere o primeiro numero lido nuca seja 0" –
user92865
29/09/2017 às 13:07
estou inputando 10 variáveis, e depois fiz uma lista onde consegui fazer o python imprimir o numero maior –
user92865
29/09/2017 às 13:11
n = int(input()) b = int(input()) c = int(input()) d = int(input()) e = int(input()) f = int(input()) g = int(input()) h = int(input()) i = int(input()) j = int(input()) lista = [n,b,c,d,e,f,g,h,i,j] print (max(lista)) –
user92865
29/09/2017 às 13:12
como faço multiplo do primeiro número?? –
user92865
29/09/2017 às 13:17
Adicione um comentário
5 Respostas
Ordenado por:
3
Outra forma seria:
# Define a função:
def exercicio():
# Lista com os números lidos:
numeros = []
# Lê o primeiro número, garantindo que não seja zero:
numero = 0
while numero == 0:
numero = int(input("Entre com o 1º número: "))
if numero == 0:
print("O 1º número não pode ser zero.")
numeros.append(numero)
# Lê os outros nove números:
for i in range(9):
numero = int(input("Entre com o %dº número: " % (i+2)))
numeros.append(numero)
# Obtém o maior valor e exibe-o na tela:
maior = max(numeros)
print("O maior valor é", maior)
# Verifica se o maior valor é múltiplo do primeiro:
multiplo = maior % numeros[0] == 0
# Se for, exibe o primeiro valor na tela:
if multiplo:
print("O maior valor é múltiplo do primeiro, que é", numeros[0])
# Chama a função definida:
exercicio()
Veja funcionando em Ideone | Repl.it
Acredito que com os comentários no código seja possível compreendê-lo. A leitura do primeiro valor foi feita de forma separada pois responde a condições diferentes dos outros valores.
Compartilhar
Melhore esta resposta
Seguir
editada 29/09/2017 às 13:51
respondida 29/09/2017 às 13:42
Woss's user avatar
Woss
75,3mil1515 medalhas de ouro113113 medalhas de prata208208 medalhas de bronze
Adicione um comentário
2
Inicialmente é necessário montar uma função :
def maxNum_input(): #declara a função
list_num = [] #declara a lista que vai receber os números
i = 0 # um contador(há outras formas de fazer)
while i < 10: # o loop
number = int(input("Digite um número diferente de 0: ")) # a entrada você pode criar algo para impedir que o usuário digite 0
list_num.append(number) # adiciona cada entrada a lista
i += 1 # incrementa o contador
if (max(list_num) % list_num[0]) == 0: # verifica se é múltiplo
print("O maior número é múltiplo de :",list_num[0])
print(max(list_num)) # a saída
maxNum_input() # a chamada da função
Compartilhar
Melhore esta resposta
Seguir
editada 29/09/2017 às 14:15
respondida 29/09/2017 às 13:41
MagicHat's user avatar
MagicHat
12,5mil66 medalhas de ouro4646 medalhas de prata9090 medalhas de bronze
Muito Obrigado :) –
user92865
29/09/2017 às 13:54
@user92865 considere validar a resposta que acredita estar correta, clicando no incon verde abaixo das setas de avaliação da resposta, boa sorte. –
MagicHat
29/09/2017 às 14:20
Adicione um comentário
0
Poderia fazer dessa forma:
cont = 0
lista_numeros =[]
while cont != 10: #Para poder pegar 10 numeros
numero = int(input('Digite um numero: '))
lista_numeros.append(numero)
cont = cont + 1
maior = max(lista_numeros) # O max retorna o numero máximo em uma lista
if maior % lista_numeros[0] == 0 :
print ('É múltiplo')
else:
print ('Não é múltiplo')
O operador '%' retorna o resto da divisão, dessa forma você pode testar se o maior número é divisível pelo primeiro.
Compartilhar
Melhore esta resposta
Seguir
editada 29/09/2017 às 14:27
respondida 29/09/2017 às 13:20
Otávio Reis Perkles's user avatar
Otávio Reis Perkles
86588 medalhas de prata2020 medalhas de bronze
haaa sim agora entendi. –
user92865
29/09/2017 às 13:23
Muito Obrigada pela ajuda :) –
user92865
29/09/2017 às 13:23
Embora o AP tenha supostamente, visto como correta sua resposta, há de se levar em consideração, a necessidade explícita de ser uma função. –
MagicHat
29/09/2017 às 13:43
teria de ser maior % lista_numeros [0] == 0. Alterado –
Otávio Reis Perkles
29/09/2017 às 14:26
Adicione um comentário
-2
maior = menor = 0
for cont in range(0, 10):
num = int(input(f'Número {cont + 1}: '))
if cont == 0:
maior = num
menor = num
elif num > maior:
maior = num
elif num < menor:
menor = num
print(f'O maior número foi {maior}')
print(f'O menor número foi {menor}')
Compartilhar
Melhore esta resposta
Seguir
editada 5/01 às 1:38
respondida 5/01 às 1:23
arnib's user avatar
arnib
111 medalhas de bronze
Adicione um comentário
-5
num = []
for v in range (0, 9): #v está armazenando as iterações vindas da função range
lista = input("Digite um número diferente de zero:") # Aqui lista fica como string.
if (lista.isnumeric()) and int(lista) != 0: #is numeric() vê se o valor é numerico
lista = int(lista) #só depois de checar passo lista pra int
if v == 0: # Primeira iteração adiciona o valor em num de antemão
num.append(lista)
if lista > num[-1] : #os valores só são comparados se lista receber um numero
num.append(lista)
else:
print("Você digitou um valor não numerico ou inválido")
print(max(num))
if (max(num)) %num[0] == 0: # Confere se o maior numero é multiplo
print(num[0])
#dentro deste for as posições não precisam ser escritas como lista[v]
#porque acima já se assume que v será o iterador
Se em qualquer momento o uso ou a necessidade de alguma linha de código trouxer dúvida, comente abaixo que estarei disposto a clarificar, já que eu usei algumas coisinhas especificas, tipo a função range() mas por enquanto basta dizer que range sempre trabalha dentro de um dado intervalo de numeros (parando no numero final -1)
Escolhi esse jeito pois ele é relativamente simples,limpo em termos de código e usa algumas funções que o Python permite.
Compartilhar
Melhore esta resposta
Seguir
editada 13/01 às 20:25
respondida 12/01 às 22:21
Victor Mariano's user avatar
Victor Mariano
6155 medalhas de bronze
Sua resposta pode ser melhorada adicionando informações fundamentais. Basta editar para adicionar mais detalhes, como citações ou documentação para que outras pessoas possam confirmar que sua resposta está correta. Você pode encontrar mais informações sobre como escrever boas respostas na Central de Ajuda. –
Comunidade
Bot
12/01 às 22:31
1
Há vários caracteres para os quais isnumeric retorna True mas dão erro ao converter para int, veja aqui. O melhor seria fazer logo int(entrada) e capturar o ValueError para saber se não foi digitado um número (mais ou menos assim). Outro ponto é que a condição lista != 0 é testada antes de converter lista para número, então a condição sempre será verdadeira (pois naquele ponto, lista ainda é uma string) –
hkotsubo
13/01 às 0:28
Não tem porque declarar lista = [] não usado em lugar algum. Não tem porque declara v em for v in range (0, 10): melhor usar um _. E o código não imprime o primeiro número caso o maior seja múltiplo desse. –
Augusto Vasques
13/01 às 2:44
@hkotsubo Obrigado por apontar as falhas obtidas, especialmente a do !=0, não tinha me dado conta. Com relação ao isnumeric sei que não é o mais exato, mas resolve a questão. –
Victor Mariano
13/01 às 19:29
@augusto Nesse momento estou atualizando o código com relação as variaveis não usadas, mas não entendi o seu ponto com relação aos múltiplos, realizei diversos casos de teste e obtive resultados coerentes em todos, com multiplos e não multiplos. A questão se refere a printar o maior de todos. –
Victor Mariano
13/01 às 19:32
Mostrar mais 4 comentários
************************************************************
Variáveis, expressões e comandos
Tópicos
Capítulo 2: Variáveis, expressões e comandos
comando de atribuição
escrita na tela (= input())
leitura via teclado (= print())
classes str e int
função de conversão int()
Comando de repetição: while
expressões lógicas e operadores relacionais
Estrutura de um programa
Utilizaremos a seguinte estrutura para um programa em Python.
def main():
# comandos
...
#------
# a linha a seguir inicia a execução do programa
main()
Variáveis
Uma variável é um nome que se refere a um valor. Um comando de atribuição cria uma nova variável e lhe dá um valor.
Variáveis são usadas para guardarmos valores que serão usados mais tarde no programa.
Atribuição
Um comando é uma unidade de código que o interpretador pode executar. Um comando de atribuição tem a seguinte forma:
variável = expressão
Significado:
o valor da expressão é calculado;
a variável é criada;
a variável passa a fazer referência/guardar o valor
Exemplos
num = 15
soma = 0 # este é um comentário
soma = soma + num
a = 3
b = 4
Cada nome de variáveis é uma letra ou o símbolo '_' (underscore) seguida de letras, números e '_'. Atenção, maiúscula é diferente de minúscula. Assim maior e Maior são duas variáveis diferentes.
Exercício 2.1
Dados dois inteiros a e b, calcular a sua soma.
Tentativa 0: execute o programa abaixo e veja o que acontece.
1
2
3
4
5
6
7
8
9
def main():
a = 3
b = 4
soma = a + b
print("A soma de a + b eh igual a soma")
main()
(aula02_ex1_1)
Observe que tudo entre aspas (”) define um texto ou string. Mas queremos imprimir o valor das variáveis e não o nome delas.
print()
A função print() é utilizada para o programa exibir mensagens. Por exemplo:
print("Olá, mundo!")
print("A soma é", soma)
Escreve na tela do computador
Olá, mundo!
A soma é XXXX
onde XXXX é o valor ao qual a variável soma se refere.
Tentativa 1: execute o programa abaixo e veja o que acontece.
Observe que o print() recebeu dois valores separados por vírgula:
um string (entre aspas) e
o nome de uma variável
O string é impresso diretamente (pois esse é o seu valor) e, ao invés de imprimir o nome da variável soma, o print() exibe o valor ao qual a variável soma se refere, ou, dito mais simplesmente, o valor da variável soma.
Mas e como imprimir os valores de a e b ao invés de seus nomes?
Tentativa 2: execute o programa abaixo e veja o que acontece.
1
2
3
4
5
6
7
8
9
def main():
a = 3
b = 4
soma = a + b
print("A soma de", a, "+", b, "eh igual a", soma)
main()
(aula02_ex1_3)
Agora sim, a mensagem ficou bem mais clara. Mas como fazer com que os valores a serem somados sejam definidos por um usuário?
Tentativa 3: execute o programa abaixo e veja o que acontece.
1
2
3
4
5
6
7
8
9
def main():
a = input("Digite o primeiro numero: ")
b = input("Digite o segundo numero: ")
soma = a + b
print("A soma de", a, "+", b, "eh igual a", soma)
main()
(aula02_ex1_4)
input()
Um programa pode utilizar a função input() para receber os dados ou valores que um usuário fornece através do teclado. O formato típico de um comando leitura é
variável = input("Prompt")
O programa pára e espera pela digitação de algum texto seguido do ENTER. "Prompt" é opcional e pode indicar o que programa deseja. Por exemplo,
nome = input("Qual é o seu nome? ")
print(nome, ", me fale sobre você.")
O valor que o usuário fornece e que será retornada pelo input() é sempre um string e não um número. Quando o operador + é realizado sobre strings, eles são concatenados (“grudados”) em vez de adicionados. Como veremos mais tarde, a operação de concatenar strings através do operador + é muito útil.
No momento desejamos adicionar dois números inteiros. Precisamos, portanto, de um maneira para converter um string em um número inteiro, para que o Python obtenha a soma desses números. Para ler um valor e converté-lo para um número inteiro utilizamos a função de conversão int().
Strings
Uma string é texto entre aspas (") ou apóstrofo (')
Valores
Programas manipulam valores. Valores podem ser de diferentes tipos ou classes. Até agora vimos que um valor pode ser um número inteiro (classe int) ou um texto (classe str). Por exemplo, "Oi" é um string (valor da classe str), 23 é um inteiro (valor da classe int), e "23" é um string (valor da classe str).
>>> type("Oi")
>>> type(23)
>>> type("23")
>>>
Operacões sobre strings
O operador + concatena dois strings.
Tentativa 4: execute o programa abaixo e veja como ele se comporta.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def main():
# a_str e b_str guardam strings
a_str = input("Digite o primeiro numero: ")
b_str = input("Digite o segundo numero: ")
# a_int e b_int guardam inteiros
a_int = int(a_str) # converte string/texto para inteiro
b_int = int(b_str) # converte string/texto para inteiro
# calcule a soma entre valores que são números inteiros
soma = a_int + b_int
# imprima a soma
print("A soma de", a_int, "+", b_int, "eh igual a", soma)
main()
(aula02_ex1_5)
int()
A função int() converte um dado string para um número inteiro.
>>> a = int("123")
>>> type (a)
>>> print("valor inteiro =", a)
valor inteiro = 123
>>>
O string deve ser algo como "123" ou "-5", pois senão ocorrerá um erro.
>>> a = int("1.5")
Traceback (most recent call last):
File "", line 1, in
ValueError: invalid literal for int() with base 10: '1.5'
>>> a = int("a156")
Traceback (most recent call last):
File "", line 1, in
ValueError: invalid literal for int() with base 10: 'a156'
>>>
Traceback (most recent call last):
File "", line 1, in
ValueError: invalid literal for int() with base 10: 'a156'
Como não precisamos guardar as respostas na forma de texto, podemos simplificar o programa compondo as funções int() e input() da seguinte forma:
Tentativa 5:
1
2
3
4
5
6
7
8
9
def main():
a = int(input("Digite o primeiro numero: "))
b = int(input("Digite o segundo numero: "))
soma = a + b
print("A soma de", a, "+", b, "eh igual a", soma)
main()
(aula02_ex1_6)
Exercício 2.2
Dada uma sequência de números inteiros diferentes de zero, terminada por um zero, calcular a sua soma. Por exemplo, para a sequência:
12 17 4 -6 8 0
o seu programa deve escrever o número 35.
Tente escrever a sua solução primeiro e, depois, clique aqui para ver uma.
1
2
3
# escreva o seu programa
(aula02_ex2_tentativa)
Comando de repetição: while
Leitura sobre o comando de repetição while.
Expressões lógicas
Condições ou expressões lógicas (boolean expressions) são expressões cujo valor é verdadeiro (=``True`` em Python) ou falso (=``False`` em Python) e usam, entre outros, os operadores relacionais:
> (maior);
>= (maior ou igual);
< (menor);
<= (menor ou igual);
== (igual); ou
!= (diferente).
Exercício 2.3
Nota: Exercício 4 da lista sobre inteiros.
Dados números inteiros n e k, com k >= 0, calcular n elevado a k. Por exemplo, dados os números 3 e 4 o seu programa deve escrever o número 81.
Tente escrever a sua solução abaixo primeiro e, depois, clique aqui para ver uma.
1
2
3
# escreva o seu programa
(aula02_ex3_tentativa)
Exercício 2.4
Nota: Exercício 8 da lista sobre inteiros.
Dado um número inteiro n >= 0, calcular n!.
Tente escrever a sua solução abaixo primeiro e, depois, clique aqui para ver uma.
1
2
3
# escreva o seu programa
(aula02_ex4_tentativa)
**************************************************************
Entrada, impressão e números
Theory
Steps
Problems
1. Como ler e escrever em Python
Todo programa é eventualmente um processador de dados, portanto, devemos saber como inserir e enviar dados dentro dele. Existe uma função, print() , para saída de dados de qualquer programa Python. Para usá-lo, passe uma lista separada por vírgulas de argumentos que você deseja imprimir para a função print() . Vamos ver um exemplo. Pressione "run" e depois "next" para ver como o programa está sendo executado linha por linha:
step by step
Para inserir dados em um programa, usamos input() . Esta função lê uma única linha de texto, como uma String.
Aqui está um programa que lê o nome do usuário e os cumprimenta:
step by step
Advertising by Google, may be based on your interests
2. Soma de números e cordas
Vamos tentar escrever um programa que insira dois números e imprima sua soma. Lemos os dois números e armazená-los na variáveis a e b usando o operador de atribuição = . No lado esquerdo de um operador de atribuição, colocamos o nome da variável. O nome pode ser uma cadeia de caracteres latinos ( AZ , az , 0-9 , _ ), mas deve começar com uma letra no intervalo AZ ou az . No lado direito de um operador de atribuição, colocamos qualquer expressão que o Python possa avaliar. O nome começa a apontar para o resultado da avaliação. Leia este exemplo, execute-o e observe a saída:
step by step
Depois de executar o exemplo, podemos ver que ele imprime 57 . Como fomos ensinados na escola, 5 + 7 dá 12 . Então, o programa está errado e é importante entender o porquê. A questão é que, na terceira linha s = a + b Python "resumiu" duas cadeias, em vez de dois números. A soma de duas strings em Python funciona da seguinte maneira: elas são coladas uma após a outra. Também é chamado às vezes de "concatenação de string".
Você vê no Inspetor variável, no lado direito, que os valores ligados a variáveis a e b estão entre aspas? Isso significa que os valores lá são string, não números. Strings e números são representados em Python de forma diferente.
Todos os valores em Python são chamados de "objetos". Todo objeto tem um certo tipo. O número 2 corresponde a um objeto "número 2" do tipo "int" (ou seja, um número inteiro). A string 'hello' corresponde a um objeto "string 'hello'" do tipo "str". Cada número de ponto flutuante é representado como um objeto do tipo "float". O tipo de um objeto especifica que tipo de operações pode ser aplicado a ele. Por exemplo, se as duas variáveis "first" e "second" estiverem apontando para os objetos do tipo int , o Python poderá multiplicá-las. No entanto, se eles estão apontando para os objetos do tipo str , o Python não pode fazer isso:
step by step
Para converter (converter) a string de dígitos em um número inteiro, podemos usar a função int() . Por exemplo, int('23') fornece um objeto int com valor 23 .
Dadas as informações acima, agora podemos corrigir a saída incorreta e produzir a soma dos dois números corretamente:
step by step
**********************************************************
Strings: Operações, Funções e Métodos
● O método split(sep) separa uma string usando sep como
separador. Retorna uma lista das substrings.
● Podem haver substrings vazias no retorno de split().
numeros = "1; 2 ; 3"
numeros.split(";")
['1', ' 2 ', ' 3']
a = "Fizeram a atividade conceitual?"
a.split()
['Fizeram', 'a', 'atividade', 'conceitual?']
Strings: Operações, Funções e Métodos
● O método replace serve para trocar todas as ocorrências de uma
substring por outra em uma string.
a = "Fizeram a atividade conceitual?"
a.replace("conceitual","teórica")
'Fizeram a atividade teórica?'
a = "Fizeram a atividade conceitual?"
a.replace("conceitual","")
'Fizeram a atividade ?'
Strings: Operações, Funções e Métodos
● Podemos usar a função list para transformar uma string em uma
lista onde os itens da lista correspondem aos caracteres da string.
numeros = "1; 2 ; 3"
list(numeros)
['1', ';', ' ', '2', ' ', ';', ' ', ' ', '3']
list("atividade")
['a', 't', 'i', 'v', 'i', 'd', 'a', 'd', 'e']
Strings: Operações, Funções e Métodos
● O método join recebe como parâmetro uma sequência ou lista, e
retorna uma string com a concatenação dos elementos da
sequência/lista.
l = list("atividade")
l
['a', 't', 'i', 'v', 'i', 'd', 'a', 'd', 'e']
"".join(l)
'atividade'
Exercícios
Exemplo: Contador de Palavras
● Faça um programa que conta o número de palavras em um texto.
Exemplo: Contador de Palavras
● Faça um programa que conta o número de palavras em um texto.
○ Primeiramente removemos do texto todos os sinais de pontuação.
○ Depois usamos a função split para separar as palavras.
texto = input("Digite um texto: ")
pontuacao = [".", ",", ":", ";", "!", "?"]
# remove os sinais de pontuação
for p in pontuacao:
texto = texto.replace(p," ")
Exemplo: Contador de Palavras
● Faça um programa que conta o número de palavras em um texto.
○ Depois usamos a função split para separar as palavras.
texto = input("Digite um texto: ")
pontuacao = [".", ",", ":", ";", "!", "?"]
# remove os sinais de pontuação
for p in pontuacao:
texto = texto.replace(p," ")
# split devolve lista com palavras como itens
numero_palavras = len(texto.split())
print("Número de palavras:", numero_palavras)
Exercício: Palíndromo
● Faça um programa que lê uma string e imprime “Palíndromo” caso a
string seja um palíndromo e “Não é palíndromo” caso não seja.
○ Assuma que a entrada não tem acentos e que todas as letras são
minúsculas.
● Obs: Um palíndromo é uma palavra ou frase, que é igual quando lida da
esquerda para a direita ou da direita para a esquerda (espaços em
brancos são descartados).
○ Exemplos de palíndromo: “ovo”, “reviver”, “mega bobagem”,
“anotaram a data da maratona”
Referências & Exercícios
● Os slides dessa aula foram baseados no material de MC102 do Prof.
Eduardo Xavier (IC/Unicamp)
● https://wiki.python.org.br/ExerciciosComStrings: 14 exercícios =)
● https://panda.ime.usp.br/pensepy/static/pensepy/08-Strings/strings.htm
*************************************************************************
Intera ̧c ̃ao com o Usu ́ario - Matrizes
Fa ̧ca um programa que leia uma matriz digitada pelo usu ́ario e conte quantos n ́umeros
pares existe na matriz, imprimindo o resultado na tela. Imprima a matriz na tela
tamb ́em.
2o Passo: Fazer uma fun ̧c ̃ao para contar o n ́umero de elementos pares de uma
matriz.
# Fun ̧c ̃ao que conta o n ́umero de elementos
# pares em uma matriz
# list → int
def contaPares(matriz):
total = 0
for i in range(len(matriz)):
for j in range(len(matriz[0])):
if matriz[i][j] % 2 == 0:
total += 1
return total
# Primeira Op ̧c ̃ao de Programa
# Fun ̧c ̃ao Principal
def main():
matriz = input( ”Digite uma matriz : ”)
pares = contaPares(matriz)
print ”O total de n ́umeros pares ́e ”,pares
if name == ” main ”:
main()
Jo ̃ao Carlos, Carla Delgado, Ana Luisa Duboc
19/ 25
Intera ̧c ̃ao com o Usu ́ario - Matrizes
Fa ̧ca um programa que leia uma matriz digitada pelo usu ́ario e conte quantos n ́umeros
pares existe na matriz, imprimindo
Leia mais em:
Última atualização: 2023-02-15