Teórica

Transcrição

Teórica
Computação 1 - Python
Aula 11 - Teórica
Interação com o usuário e
programa principal
João Carlos, Carla Delgado, Ana Luisa Duboc
1/ 29
Interação com o Usuário
print: Usado para imprimir informações na tela.
>>> print "Qual o seu nome?"
Qual o seu nome?
# Função que soma dois números inteiros
# int,int → int
def soma(numero1,numero2):
return numero1 + numero2
>>> print "A soma de 2 e 3 é ",soma(2,3)
A soma de 2 e 3 é 5
João Carlos, Carla Delgado, Ana Luisa Duboc
2/ 29
Interação com o Usuário
print: Usado para imprimir informações na tela.
>>> print "Qual o seu nome?"
Qual o seu nome?
# Função que soma dois números inteiros
# int,int → int
def soma(numero1,numero2):
return print numero1 + numero2
ATENÇÃO: NÃO USE O PRINT DESTA FORMA !
João Carlos, Carla Delgado, Ana Luisa Duboc
3/ 29
Interação com o Usuário
print exp1,exp2,exp3 → próximo print na linha seguinte.
print exp1,exp2,exp3, → próximo print na mesma linha.
print "Eu"
print "saio", "no bloco"
print "Suvaco do Cristo"
Eu
saio no bloco
Suvaco do Cristo
print "Eu"
print "saio", "no bloco",
print "Suvaco do Cristo"
Eu
saio no bloco Suvaco do Cristo
João Carlos, Carla Delgado, Ana Luisa Duboc
4/ 29
Interação com o Usuário
”\n” é usado para quebra de linha quando usado dentro de
uma string.
>>> print "Meu nome é José \n e eu tenho 10 anos"
Meu nome é José
e eu tenho 10 anos
>>> print "A soma de 2 e 3 é : \n", soma(2,3)
A soma de 2 e 3 é :
5
>>> print "A soma de 2 e 3 é : ", soma(2,3)
A soma de 2 e 3 é : 5
João Carlos, Carla Delgado, Ana Luisa Duboc
5/ 29
Interação com o Usuário
Faça um programa que peça ao usuário para digitar 2 números inteiros e
imprima na tela o resultado da função soma para estes dois números.
João Carlos, Carla Delgado, Ana Luisa Duboc
6/ 29
Interação com o Usuário
Faça um programa que peça ao usuário para digitar 2 números inteiros e
imprima na tela o resultado da função soma para estes dois números.
# Função que soma dois números inteiros
# int,int → int
def soma(numero1,numero2):
return numero1 + numero2
João Carlos, Carla Delgado, Ana Luisa Duboc
6/ 29
Interação com o Usuário
Faça um programa que peça ao usuário para digitar 2 números inteiros e
imprima na tela o resultado da função soma para estes dois números.
# Função que soma dois números inteiros
# int,int → int
def soma(numero1,numero2):
return numero1 + numero2
vamos definir a função principal do nosso programa.
João Carlos, Carla Delgado, Ana Luisa Duboc
6/ 29
Interação com o Usuário
Faça um programa que peça ao usuário para digitar 2 números inteiros e
imprima na tela o resultado da função soma para estes dois números.
# Função que soma dois números inteiros
# int,int → int
def soma(numero1,numero2):
return numero1 + numero2
vamos definir a função principal do nosso programa.
# Função Principal
def main():
print ”A soma de 2 e 3 é:”,soma(2,3)
if name == ” main ”:
main()
João Carlos, Carla Delgado, Ana Luisa Duboc
6/ 29
Interação com o Usuário
Faça um programa que peça ao usuário para digitar 2 números inteiros e
imprima na tela o resultado da função soma para estes dois números.
# Função que soma dois números inteiros
# int,int → int
def soma(numero1,numero2):
return numero1 + numero2
vamos definir a função principal do nosso programa.
# Função Principal
def main():
print ”A soma de 2 e 3 é:”,soma(2,3)
if name == ” main ”:
main()
Observe que ao executar o programa, o resultado aparece direto na tela,
sem precisar chamar a função main().
João Carlos, Carla Delgado, Ana Luisa Duboc
6/ 29
Interação com o Usuário
Por que função main() ?
Considere que você salvou as funções soma e main no arquivo MeuPrograma.py
# Função que soma dois números inteiros
# int,int → int
def soma(numero1,numero2):
return numero1 + numero2
# Função Principal
def main():
print ”A soma de 2 e 3 é:”,soma(2,3)
if name == ” main ”:
main()
João Carlos, Carla Delgado, Ana Luisa Duboc
7/ 29
Interação com o Usuário
Por que função main() ?
Considere que você salvou as funções soma e main no arquivo MeuPrograma.py
# Função que soma dois números inteiros
# int,int → int
def soma(numero1,numero2):
return numero1 + numero2
# Função Principal
def main():
print ”A soma de 2 e 3 é:”,soma(2,3)
if name == ” main ”:
main()
Suponha que você fez a função vezes5, salvando-a no arquivo Auxiliar.py:
from MeuPrograma import *
# Multiplica por 5 o resultado da função soma
# int,int → int
def vezes5(numero1,numero2):
return 5*soma(numero1,numero2)
João Carlos, Carla Delgado, Ana Luisa Duboc
7/ 29
Interação com o Usuário
Por que função main() ?
Note que ao invés de copiar a função soma do arquivo MeuPrograma.py para
Auxiliar.py, apenas importamos as funções de MeuPrograma.py para Auxiliar.py
# Função que soma dois números inteiros
# int,int → int
def soma(numero1,numero2):
return numero1 + numero2
# Função Principal
def main():
print ”A soma de 2 e 3 é:”,soma(2,3)
if name == ” main ”:
main()
from MeuPrograma import *
# Multiplica por 5 o resultado da função soma
# int,int → int
def vezes5(numero1,numero2):
return 5*soma(numero1,numero2)
João Carlos, Carla Delgado, Ana Luisa Duboc
8/ 29
Interação com o Usuário
Por que função main() ?
Se você executar MeuPrograma.py, aparecerá ”A soma de 2 e 3 é: 5”.
Se você executar Auxiliar.py, nada acontecerá, a menos que você chame a
função vezes5. Por exemplo, vezes5(2,3) retornará 25.
Por que isto ocorre ?
# Função que soma dois números inteiros
# int,int → int
def soma(numero1,numero2):
return numero1 + numero2
# Função Principal
def main():
print ”A soma de 2 e 3 é:”,soma(2,3)
if name == ” main ”:
main()
from MeuPrograma import *
# Multiplica por 5 o resultado da função soma
# int,int → int
def vezes5(numero1,numero2):
return 5*soma(numero1,numero2)
João Carlos, Carla Delgado, Ana Luisa Duboc
9/ 29
Interação com o Usuário
Por que função main() ?
Ao definir a função main() em MeuPrograma.py, estamos requerendo que os
comandos dentro dela sejam executados ao executarmos este arquivo.
O comando ”if name == ” main :” serve para verificar se estamos ou não
rodando MeuPrograma.py diretamente.
Se estivermos, o teste do if será True e a função main() será executada.
É isso que ocorre quando executamos MeuPrograma.py.
# Função que soma dois números inteiros
# int,int → int
def soma(numero1,numero2):
return numero1 + numero2
# Função Principal
def main():
print ”A soma de 2 e 3 é:”,soma(2,3)
if name == ” main ”:
main()
João Carlos, Carla Delgado, Ana Luisa Duboc
10/ 29
Interação com o Usuário
Por que função main() ?
Já quando estamos executando Auxiliar.py, importamos as funções do arquivo
MeuPrograma.py.
Mas o comando ”if name == ” main :” não será satisfeito (será False),
uma vez que quem está sendo executado é Auxiliar.py e não MeuPrograma.py.
Logo a função main() não será executada, e a resposta de Auxiliar.py será nada
a menos que se chame a função vezes5 , ou alguma função do arquivo
importado.
from MeuPrograma import *
# Multiplica por 5 o resultado da função soma
# int,int → int
def vezes5(numero1,numero2):
return 5*soma(numero1,numero2)
João Carlos, Carla Delgado, Ana Luisa Duboc
11/ 29
Interação com o Usuário
Faça um programa que peça ao usuário para digitar 2 números inteiros e
imprima na tela o resultado da função soma para estes dois números.
# Função que soma dois números inteiros
# int,int → int
def soma(numero1,numero2):
return numero1 + numero2
# Função Principal
def main():
print ”A soma de 2 e 3 é:”,soma(2,3)
if name == ” main ”:
main()
Note que chamamos a função soma com valores fixos (2 e 3).
Como fazer para que o usuário possa entrar com dois valores quaisquer?
João Carlos, Carla Delgado, Ana Luisa Duboc
12/ 29
Interação com o Usuário
input(texto) : permite que você entre com um valor
>>> numero1= input("Qual o primeiro número? ")
João Carlos, Carla Delgado, Ana Luisa Duboc
13/ 29
Interação com o Usuário
input(texto) : permite que você entre com um valor
>>> numero1= input("Qual o primeiro número? ")
Qual o primeiro número?
João Carlos, Carla Delgado, Ana Luisa Duboc
14/ 29
Interação com o Usuário
input(texto) : permite que você entre com um valor
>>> numero1= input("Qual o primeiro número? ")
Qual o primeiro número? 7
João Carlos, Carla Delgado, Ana Luisa Duboc
15/ 29
Interação com o Usuário
input(texto) : permite que você entre com um valor
>>> numero1= input("Qual o primeiro número? ")
Qual o primeiro número? 7
>>> numero1
7
João Carlos, Carla Delgado, Ana Luisa Duboc
16/ 29
Interação com o Usuário
Faça um programa que peça ao usuário para digitar 2 números inteiros e
imprima na tela o resultado da função soma para estes dois números.
# Função que soma dois números inteiros
# int,int → int
def soma(numero1,numero2):
return numero1 + numero2
# Função Principal
def main():
numero1 = input( ”Qual o primeiro número? ” )
numero2 = input( ”Qual o segundo número? ” )
print ”A soma de ”,numero1,” e ”, numero2, ” é ”, soma(numero1,numero2)
if name == ” main ”:
main()
Execute o programa !
João Carlos, Carla Delgado, Ana Luisa Duboc
17/ 29
Interação com o Usuário
input : Armazena o valor passado (int, long, float, complex,
str)
raw input (versões 2.x): É usado para ler uma string na
versão 2.x;
João Carlos, Carla Delgado, Ana Luisa Duboc
18/ 29
Interação com o Usuário
Faça um programa que peça ao usuário para digitar uma quantidade
indeterminada de números até que seja digitado um número negativo. O
programa deve armazenar os números lidos numa lista. Depois disso, o
programa deve imprimir a lista e a soma de todos os números da lista.
João Carlos, Carla Delgado, Ana Luisa Duboc
19/ 29
Interação com o Usuário
Faça um programa que peça ao usuário para digitar uma quantidade
indeterminada de números até que seja digitado um número negativo. O
programa deve armazenar os números lidos numa lista. Depois disso, o
programa deve imprimir a lista e a soma de todos os números da lista.
#
#
#
#
Programa que lê uma quantidade indeterminada de
números e os armazena em uma lista
Imprime a soma de todos os números da lista
Função Principal
def main():
lista = [ ]
numero = input( ”Digite um número: ”)
while numero >= 0:
list.append(lista,numero)
numero = input( ”Digite um número: ”)
print lista
print ”A soma dos números é ”,sum(lista)
if name == ” main ”:
main()
João Carlos, Carla Delgado, Ana Luisa Duboc
19/ 29
Interação com o Usuário
Faça um programa que peça ao usuário para digitar uma quantidade
indeterminada de números até que seja digitado um número negativo. O
programa deve armazenar os números lidos numa lista. Depois disso, o
programa deve imprimir a lista e a soma de todos os números da lista.
João Carlos, Carla Delgado, Ana Luisa Duboc
20/ 29
Interação com o Usuário - Matrizes
Faça um programa que leia uma matriz digitada pelo usuário e conte quantos
números pares existe na matriz, imprimindo o resultado na tela. Imprima a
matriz na tela também.
João Carlos, Carla Delgado, Ana Luisa Duboc
21/ 29
Interação com o Usuário - Matrizes
Faça um programa que leia uma matriz digitada pelo usuário e conte quantos
números pares existe na matriz, imprimindo o resultado na tela. Imprima a
matriz na tela também.
1o Passo: Como ler usando o input() ?
João Carlos, Carla Delgado, Ana Luisa Duboc
21/ 29
Interação com o Usuário - Matrizes
Faça um programa que leia uma matriz digitada pelo usuário e conte quantos
números pares existe na matriz, imprimindo o resultado na tela. Imprima a
matriz na tela também.
1o Passo: Como ler usando o input() ?
Lendo no formato de lista:
João Carlos, Carla Delgado, Ana Luisa Duboc
21/ 29
Interação com o Usuário - Matrizes
Faça um programa que leia uma matriz digitada pelo usuário e conte quantos
números pares existe na matriz, imprimindo o resultado na tela. Imprima a
matriz na tela também.
1o Passo: Como ler usando o input() ?
Lendo no formato de lista:
# Primeira Opção de Programa
# Função Principal
def main():
matriz = input( ”Digite uma matriz : ”)
if name == ” main ”:
main()
João Carlos, Carla Delgado, Ana Luisa Duboc
21/ 29
Interação com o Usuário - Matrizes
Faça um programa que leia uma matriz digitada pelo usuário e conte quantos números
pares existe na matriz, imprimindo o resultado na tela. Imprima a matriz na tela
também.
1o Passo: Como ler usando o input() ?
Lendo elemento por elemento:
João Carlos, Carla Delgado, Ana Luisa Duboc
22/ 29
Interação com o Usuário - Matrizes
Faça um programa que leia uma matriz digitada pelo usuário e conte quantos números
pares existe na matriz, imprimindo o resultado na tela. Imprima a matriz na tela
também.
1o Passo: Como ler usando o input() ?
Lendo elemento por elemento:
# Segunda Opção de Programa
# Função Principal
def main():
matriz = []
numLinhas, numColunas = input( ”Digite o número de linhas e colunas : ”)
for i in range(numLinhas):
linha = [ ]
for j in range(numColunas):
valor = input( ”Digite o elemento [”+str(i)+”] [”+ str(j)+”]: ”)
list.append(linha,valor)
list.append(matriz,linha)
if name == ” main ”:
main()
João Carlos, Carla Delgado, Ana Luisa Duboc
22/ 29
Interação com o Usuário - Matrizes
Faça um programa que leia uma matriz digitada pelo usuário e conte quantos números
pares existe na matriz, imprimindo o resultado na tela. Imprima a matriz na tela
também.
2o Passo: Fazer uma função para contar o número de elementos pares de uma
matriz.
João Carlos, Carla Delgado, Ana Luisa Duboc
23/ 29
Interação com o Usuário - Matrizes
Faça um programa que leia uma matriz digitada pelo usuário e conte quantos números
pares existe na matriz, imprimindo o resultado na tela. Imprima a matriz na tela
também.
2o Passo: Fazer uma função para contar o número de elementos pares de uma
matriz.
# Função que conta o número 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ção de Programa
# Função Principal
def main():
matriz = input( ”Digite uma matriz : ”)
pares = contaPares(matriz)
print ”O total de números pares é ”,pares
if name == ” main ”:
main()
João Carlos, Carla Delgado, Ana Luisa Duboc
23/ 29
Interação com o Usuário - Matrizes
Faça um programa que leia uma matriz digitada pelo usuário e conte quantos números
pares existe na matriz, imprimindo o resultado na tela. Imprima a matriz na tela
também.
3o Passo: Como imprimir a matriz na tela ?
João Carlos, Carla Delgado, Ana Luisa Duboc
24/ 29
Interação com o Usuário - Matrizes
Faça um programa que leia uma matriz digitada pelo usuário e conte quantos números
pares existe na matriz, imprimindo o resultado na tela. Imprima a matriz na tela
também.
3o Passo: Como imprimir a matriz na tela ?
Imprimindo no formato de lista:
João Carlos, Carla Delgado, Ana Luisa Duboc
24/ 29
Interação com o Usuário - Matrizes
Faça um programa que leia uma matriz digitada pelo usuário e conte quantos números
pares existe na matriz, imprimindo o resultado na tela. Imprima a matriz na tela
também.
3o Passo: Como imprimir a matriz na tela ?
Imprimindo no formato de lista:
# Primeira Opção de Programa
# Função Principal
def main():
matriz = input( ”Digite uma matriz : ”)
pares = contaPares(matriz)
print ”O total de números pares é ”,pares
print ”A matriz lida foi: \n ”,matriz
if name == ” main ”:
main()
João Carlos, Carla Delgado, Ana Luisa Duboc
24/ 29
Interação com o Usuário - Matrizes
Faça um programa que leia uma matriz digitada pelo usuário e conte quantos números
pares existe na matriz, imprimindo o resultado na tela. Imprima a matriz na tela
também.
3o Passo: Como imprimir a matriz na tela ?
Imprimindo no formato de matriz:
João Carlos, Carla Delgado, Ana Luisa Duboc
25/ 29
Interação com o Usuário - Matrizes
Faça um programa que leia uma matriz digitada pelo usuário e conte quantos números
pares existe na matriz, imprimindo o resultado na tela. Imprima a matriz na tela
também.
3o Passo: Como imprimir a matriz na tela ?
Imprimindo no formato de matriz:
# Função para imprimir em formato de matriz
# list → sem saida
def imprimirMatriz(matriz):
for i in range(len(matriz)):
for j in range(len(matriz[0])):
print matriz[i][j], #um número ao lado do outro
print #pula linha
return
# Primeira Opção de Programa
# Função Principal
def main():
matriz = input( ”Digite uma matriz : ”)
pares = contaPares(matriz)
print ”O total de números pares é ”,pares
print ”A matriz lida foi: ”
imprimirMatriz(matriz)
if name == ” main ”:
main()
João Carlos, Carla Delgado, Ana Luisa Duboc
25/ 29
Interação com o Usuário - Matrizes
Faça um programa que leia uma matriz digitada pelo usuário e conte quantos números
pares existe na matriz, imprimindo o resultado na tela. Imprima a matriz na tela
também.
3o Passo: Como imprimir a matriz na tela ?
Imprimindo no formato de matriz:
# Função para imprimir em formato de matriz
# list → sem saida
def imprimirMatriz(matriz):
for i in range(len(matriz)):
for j in range(len(matriz[0])):
print matriz[i][j], #um número ao lado do outro
print #pula linha
return
João Carlos, Carla Delgado, Ana Luisa Duboc
26/ 29
Interação com o Usuário
Faça o programa do jogo: “Acerte os números”. Inicialmente, leia diversos
números inteiros entrados pelo dono da casa de aposta, guardando numa lista.
A leitura termina quando o dono digitar um número negativo. Em seguida o
apostador poderá entrar com vários números para verificar o seu acerto.
Caso acerte um dos números da lista, informe do acerto e diga quantos
números faltam acertar. O programa termina caso o apostador erre 10 vezes ou
até ele acertar todos os números.
Obs.: caso o dono da casa de apostas tenha entrado com um número que já
exista, ignore-o.
João Carlos, Carla Delgado, Ana Luisa Duboc
27/ 29
Autores
João C. P. da Silva
Carla Delgado
Lattes
Lattes
Ana Luisa Duboc
Lattes
Colaboradores
Fabio Mascarenhas
Lattes
Anamaria Martins Moreira
Lattes
Leonardo de Oliveira Carvalho
Charles Figueiredo de Barros
Fabrı́cio Firmino de Faria
João Carlos, Carla Delgado, Ana Luisa Duboc
28/ 29
Lattes
Lattes
Lattes
Computação 1 - Python
Aula 11 - Teórica
Interação com o usuário e
programa principal
João Carlos, Carla Delgado, Ana Luisa Duboc
29/ 29

Documentos relacionados

Princ´ıpios de Desenvolvimento de Algoritmos 1 Objetivo 2

Princ´ıpios de Desenvolvimento de Algoritmos 1 Objetivo 2 Certifique-se que o programa compila com o gcc caso queira ter certeza que não haverá problemas na correção. 2. Faça um arquivo README (arquivo texto sem formatação) contendo: o seu nome com...

Leia mais