Você está na página 1de 13

Computação I - Python

Aula 10: Entrada, Saı́da e Programa Principal


A função input

Apresentado por: Rafael Machado Andrade


Produção DCC-UFRJ
Metodologia de referência https://doi.org/10.5753/wei.2016.9683

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computação I - Python Aula 10 1 / 10


A função input

Muitas vezes desejamos que o usuário insira alguma informação nos nossos
programas durante a sua execução. Essa informação pode ser salva em
uma variável e então pode ser reutilizada ao longo do programa.

A função input é utilizada para esta finalidade: ler informações digitadas


pelo usuário.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computação I - Python Aula 10 2 / 10


A função input
Exemplo: Faça uma função que solicite ao usuário que digite seu nome, e
salve-o em uma variável.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computação I - Python Aula 10 3 / 10


A função input
Exemplo: Faça uma função que solicite ao usuário que digite seu nome, e
salve-o em uma variável.
def solicitaNome () :
’ ’ ’ Funcao que s o l i c i t a o nome do u s u a r i o . None −> s t r ’ ’ ’
p r i n t ( ’ Qual o s e u nome? ’ )
nome = i n p u t ( )
r e t u r n nome

>>> nome = s o l i c i t a N o m e ( )
Qual o s e u nome?
Rafael

>>> nome
’ Rafael ’

Observe que a função não recebe nenhum argumento, já que o valor do nome será
inserido pelo usuário durante a execução da função. Como o nome inserido é retornado,
o retorno da função pode ser atribuı́do a uma variável, para ser reutilizado.
http://www.dcc.ufrj.br/˜pythonUFRJ/ Computação I - Python Aula 10 3 / 10
A função input
Podemos reescrever a função solicitaNome(), embutindo a mensagem contida no
comando print dentro do próprio comando de input:

def solicitaNome () :
’ ’ ’ Funcao que s o l i c i t a o nome do u s u a r i o . None −> s t r ’ ’ ’
nome = i n p u t ( ’ Qual o s e u nome? ’ )
r e t u r n nome

>>> nome = s o l i c i t a N o m e ( )
Qual o s e u nome? R a f a e l

>>> nome
’ Rafael ’

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computação I - Python Aula 10 4 / 10


A função input
Podemos reescrever a função solicitaNome(), embutindo a mensagem contida no
comando print dentro do próprio comando de input:

def solicitaNome () :
’ ’ ’ Funcao que s o l i c i t a o nome do u s u a r i o . None −> s t r ’ ’ ’
nome = i n p u t ( ’ Qual o s e u nome? ’ )
r e t u r n nome

>>> nome = s o l i c i t a N o m e ( )
Qual o s e u nome? R a f a e l

>>> nome
’ Rafael ’

Observe que não houve uma quebra de linha após a mensagem.


Ao se incluir a mensagem diretamente na função input, a quebra de linha ao final da
mensagem não é incluı́da automaticamente como ocorre ao se utilizar a função print.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computação I - Python Aula 10 4 / 10


A função input
Podemos reescrever a função solicitaNome(), embutindo a mensagem contida no
comando print dentro do próprio comando de input:

def solicitaNome () :
’ ’ ’ Funcao que s o l i c i t a o nome do u s u a r i o . None −> s t r ’ ’ ’
nome = i n p u t ( ’ Qual o s e u nome ?\ n ’ )
r e t u r n nome

>>> nome = s o l i c i t a N o m e ( )
Qual o s e u nome?
Rafael

>>> nome
’ Rafael ’

Podemos incluir o caractere ’\n’ ao final da mensagem


para inserir manualmente uma quebra de linha após a ela.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computação I - Python Aula 10 5 / 10


A função input

OBSERVAÇÃO: Como a função input recebe um valor a partir de um


texto inserido pelo usuário, seu conteúdo sempre será identificado como
sendo de tipo textual (str). Caso queiramos que os dados digitados pelo
usuário sejam recebidos como valores numéricos ou booleanos, será preciso
realizar a conversão do texto digitado para o tipo de dados desejado.

Essa conversão pode ser feita diretamente ao se executar a função input.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computação I - Python Aula 10 6 / 10


A função input
Exemplo: Faça uma função que solicite ao usuário sua idade (em anos) e seu
peso (em Kg) e retorne uma tupla contendo respectivamente estes dois dados.
OBS: A idade é um número inteiro, e o peso é um número decimal.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computação I - Python Aula 10 7 / 10


A função input
Exemplo: Faça uma função que solicite ao usuário sua idade (em anos) e seu
peso (em Kg) e retorne uma tupla contendo respectivamente estes dois dados.
OBS: A idade é um número inteiro, e o peso é um número decimal.

def solicitaIdadeEPeso () :
’ ’ ’ Funcao que s o l i c i t a a i d a d e e o p e s o do u s u a r i o .
None −> i n t , f l o a t ’ ’ ’
i d a d e = i n t ( i n p u t ( ” D i g i t e s u a i d a d e : \n” ) )
p e s o = f l o a t ( i n p u t ( ” D i g i t e s e u p e s o (em Kg ) : \n” ) )
r e t u r n idade , peso

>>> i d a d e , p e s o = s o l i c i t a I d a d e E P e s o ( )
D i g i t e sua idade :
32
D i g i t e s e u p e s o (em Kg ) :
81.6

>>> i d a d e , t y p e ( i d a d e )
( 3 2 , < c l a s s ’ i n t ’ >)
>>> peso , t y p e ( p e s o )
( 8 1 . 6 , < c l a s s ’ f l o a t ’ >)

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computação I - Python Aula 10 7 / 10


A função input
Caso não tivéssemos utilizado cast para converter os dois inputs, ambas as
variáveis teriam dados do tipo string:
def solicitaIdadeEPeso () :
’ ’ ’ Funcao que s o l i c i t a a i d a d e e o p e s o do u s u a r i o .
None −> s t r , s t r ’ ’ ’
i d a d e = i n p u t ( ” D i g i t e s u a i d a d e : \n” )
p e s o = i n p u t ( ” D i g i t e s e u p e s o (em Kg ) : \n” )
r e t u r n idade , peso

>>> i d a d e , p e s o = s o l i c i t a I d a d e E P e s o ( )
D i g i t e sua idade :
32
D i g i t e s e u p e s o (em Kg ) :
81.6

>>> i d a d e , t y p e ( i d a d e )
( ’ 32 ’ , < c l a s s ’ s t r ’ >)
>>> peso , t y p e ( p e s o )
( ’ 8 1 . 6 ’ , < c l a s s ’ s t r ’ >)

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computação I - Python Aula 10 8 / 10


A função input

OBSERVAÇÃO: É necessário ter cuidado na utilização de cast no


comando de input. Caso o dado inserido pelo usuário não seja compatı́vel
com o tipo de dado do cast, um erro ocorrerá:

>>> i d a d e = i n t ( i n p u t ( ’ D i g i t e s u a i d a d e : \n ’ ) )
D i g i t e sua idade :
abc
T r a c e b a c k ( most r e c e n t c a l l l a s t ) :
F i l e ”< p y s h e l l #19>” , l i n e 1 , i n <module>
i d a d e = i n t ( i n p u t ( ’ D i g i t e s u a i d a d e : \n ’ ) )
V a l u e E r r o r : i n v a l i d l i t e r a l f o r i n t ( ) w i t h b a s e 1 0 : ’ abc ’

Como tentamos converter os dados digitados para o tipo ’int’,


e como foram digitadas as letras ’abc’, que não podem ser convertidas
para tipos numéricos, um erro de valor foi ocasionado.

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computação I - Python Aula 10 9 / 10


Computação I - Python
Aula 10: Entrada, Saı́da e Programa Principal
A função input

Apresentado por: Rafael Machado Andrade


Produção DCC-UFRJ
Metodologia de referência https://doi.org/10.5753/wei.2016.9683

http://www.dcc.ufrj.br/˜pythonUFRJ/ Computação I - Python Aula 10 10 / 10

Você também pode gostar