Buscar

Python-I

Prévia do material em texto

Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Informática no Ensino de Ciências
Sandra Amato
Instituto de Fı́sica
Universidade Federal do Rio de Janeiro
Segundo Semestre de 2019
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Introdução ao Python - Apresentação
Ü Criado por Guido Van Rossum no inı́cio da década de
1990
Ü Linguagem de programação de alto nı́vel
Como c, c++, java, ...
Ü É uma linguagem interpretada e não compilada
Comando ⇒ Interpretador ⇒ Resultado
Podemos também usar o modo script
Ü Muito utilizada atualmente por ser mais “amigável”
Ü É poderosa e flexı́vel, sendo usada em muitas
aplicações
Web, GUI, computação cientı́fica, desenvolvimento de
software, administração de sistemas, ...
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Apresentação
Mas ...
Ü Esconde os detalhes de um ambiente de programação
mais avançado
inadequado para este aprendizado
Ü Não serve para computação de alto desempenho
c, c++, FORTRAN, ...
Mas python pode “chamar” código compilado de outras
linguagens !!
Uso integrado:
Ü python: Configuração, testes, análise de resultados, ...
Ü c++: cálculos pesados (Monte Carlo, ajustes de
funções,..), leitura de milhões de eventos, ...
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Referências
Ü Site oficial: https://www.python.org/
Ü Tutorial do site oficial:
https://docs.python.org/3/tutorial/index.html
Ü Learn X in Y minutes, where X=python:
https://learnxinyminutes.com/docs/python/
Ü Como pensar como um cientista da Computação
usando Python:
https://panda.ime.usp.br/pensepy/static/pensepy/
Ü ipython:
http://ipython.readthedocs.io/en/stable/index.html
i Nos sistemas Linux normalmente já há um python
instalado
i Versões atuais (> 3.x) tem algumas incompatibilidades
com as anteriores (2.x ou menos)
https://www.python.org/
https://docs.python.org/3/tutorial/index.html
https://learnxinyminutes.com/docs/python/
https://panda.ime.usp.br/pensepy/static/pensepy/
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Inicializando python
Ü Na linha de comando do terminal linux:
sandra$ python
Python 2.7.15+ (default, Nov 27 2018, 23:36:35)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Ü Para rodar um script ( ou “macro”) chamada teste.py:
sandra$ python teste.py
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Operações elementares
Python como calculadora ...
>>> 1+1
2
>>> 2*10
20
>>> 5/2 # divisao de inteiros
2
>>> 5.0/2 # divisao de reais
2.5
>>> 5%2 # operador resto (inteiros)
1
>>> 7**2 # isto nao temos em c ...
49
>>> 3*(3.+5.)/(2+6)
3.0
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Variáveis e tipos pré-definidos
>>> i=5 # inteiro (ja’ e’ o long do c)
>>> j=3
>>> i/j
1
>>> f=5. # real (ja’ e’ o double do c)
>>> f/j
1.6666666666666667
>>> c=3+2j # complexo
>>> c.conjugate()
(3-2j)
>>> c.real
3.0
>>> c.imag
2.0
>>> b=(c*c.conjugate()).real
>>> b
13.0
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Execução de programa em um arquivo
>>> a=5.
>>> print 1./2*a
2.5
>>> print 1./(2*a)
0.1
>>> print ’Isaac’ + ’ Newton’
Isaac Newton
Podemos colocar esses comandos dentro de um arquivo e
executá-lo:
$ gedit test.py &
(Coloque comandos no arquivo e salve)
$ python test.py
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Outras funções matemáticas
>>> sqrt (9)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name ’sqrt’ is not defined
Precisamos importar a biblioteca matemática:
>>> from math import sqrt
>>> sqrt(9)
3.0
>>> from math import *
>>> sin(0)
0.0
>>> sin(3.14/2)
0.9999996829318346
>>> sin(pi/2)
1.0
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Outras funções matemáticas
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Outras funções matemáticas
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Variáveis
Variáveis são nomes para valores. Em python, elas não
precisam ter um tipo pré-definido:
>>> planeta = ’Marte’
>>> planeta = 9
>>> print planeta
9
Mas antes de serem usadas, tem que ter algum valor
atribuı́da a ela:
>>> print planet #Repare o nome da variavel
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name ’planet’ is not defined
O que vier depois de # até o final da linha é considerado um
comentário e não é interpretado
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Variáveis e valores
Os valores sim, tem tipos pré-definidos
>>> a = "dois"
>>> b= 3
>>> print a*b
doisdoisdois
>>> print a+b
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate ’str’ and ’int’ objects
>>> a="2"
>>> print a+b
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate ’str’ and ’int’ objects
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Conversão entre tipos
>>> a="2"
>>> b= 3
>>> print int(a)+b
5
>>> c = 2
>>> print c+b
5
>>> print a+str(b)
23
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Exercı́cio
O que será impresso nos seguintes casos:
>>> 2**0.5
>>> 2**(1/2)
>>> 2**(1./2)
>>> 9**1/2
>>> 9.**1/2
>>> a=2
>>> b=3
>>> c=a/b
>>> c = c+2
>>> d = c/3.
>>> a+b*2
>>> 34/5/2
>>> 34/(5/2)
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Abreviações
>>> ano = 19
>>> ano +=1 <--- o mesmo que ano = ano + 1
>>> print ano
20
>>> ano +=2 <--- o mesmo que ano = ano + 2
>>> print ano
22
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Operadores Relacionais - Comparações
>>> a=3
>>> b=5
>>> a<b
True
>>> a>b
False
>>> a==b
False
>>> a!=b
True
>>> a=b
>>> a==b
True
>>> int(a<b)
1
>>> int(a>b)
0
> maior
>= maior ou igual
< menor
<= menor ou igual
== igual
!= diferente
ÜAtenção para a diferença entre
a = = b e a = b
ÜUma expressão lógica tem valor
numérico
0 (zero) se for falsa e 6= 0 se for verdadeira
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Operadores Lógicos
A avaliação de uma
expressão é feita de
acordo com a tabela:
V and V = V
V and F = F
F and V = F
F and F = F
V or V = V
F or V = V
V or F = V
F or F = F
>>> a=2
>>> b=3
>>> c=4
>>> (a<b) and (a<c)
True
>>> (a<b) and (b>c)
False
>>> (a<b)or (b>c)
True
Para saber se um número está dentro de
um intervalo:
>>> d=3.5
>>> (d>a) and (d<c)
ou fora do intervalo
>>> e=7
>>> (e<a) or (e>c)
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Mais Sobre Operadores
Ü O operador not é o operador de negação. Troca V por F:
not(a < b) ⇔ (a >= b)
>>> a=2
>>> b=3
>>> (a<b)
True
>>> not(a<b)
False
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Estruturas de Decisão
Ü É extremamente frequente a necessidade de tomar
alguma decisão dependendo de alguma condição
Ü Necessitamos de mecanismos que provoquem
bifurcações, ou seja, que permitam que algumas
instruções só sejam executadas se determinadas
condições forem satisfeitas.
Ü Estruturas condicionais existentes em linguagem de
programação fornecem esses mecanismos.
Ü O funcionamento delas depende da avaliação, como
falsa ou verdadeira, de uma determinada afirmativa.
Ü Em Python : if elif else
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Estruturas de Decisão - if
Executa um conjunto de instruções quando
uma condição é satisfeita.
if condição :
comandos
n = 0
x = 10
if x>0 :
print ("x positivo",x)
n = n + 1
print n
Repare na identação
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Estruturas de Decisão - if
Executa um conjunto de instruções quando
uma condição é satisfeita.
if condição :
comandos
n = 0
x = 10
if x>0 :
print ("x positivo",x)
n = n + 1
print n
Repare na identação
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Estruturas de Decisão - if
Executa um conjunto de instruções quando
uma condição é satisfeita.
if condição :
comandos
n = 0
x = 10
if x>0 :
print ("x positivo",x)
n = n + 1
print n
Repare na identação
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Estruturas de Decisão - if
Executa um conjunto de instruções quando
uma condição é satisfeita.
if condição :
comandos
n = 0
x = 10
if x>0 :
print ("x positivo",x)
n = n + 1
print n
Repare na identação
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Estruturas de Decisão - if
Executa um conjunto de instruções quando
uma condição é satisfeita.
if condição :
comandos
n = 0
x = 10
if x>0 :
print ("x positivo",x)
n = n + 1
print n
Repare na identação
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Estruturas de Decisão - if
Executa um conjunto de instruções quando
uma condição é satisfeita.
if condição :
comandos
n = 0
x = 10
if x>0 :
print ("x positivo",x)
n = n + 1
print n
Repare na identação
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Estruturas de Decisão - if
n = 0
x = -10
if x>0 :
print ("x positivo",x)
n = n + 1
print n
n = 0
x = -10
if x>0 :
print ("x positivo",x)
n = n + 1
print n
O número de espaços na identação não importa, mas tem
que ser consistente.
Recomenda-se não usar “tab”
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Estruturas de Decisão - if
n = 0
x = -10
if x>0 :
print ("x positivo",x)
n = n + 1
print n
n = 0
x = -10
if x>0 :
print ("x positivo",x)
n = n + 1
print n
O número de espaços na identação não importa, mas tem
que ser consistente.
Recomenda-se não usar “tab”
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Estruturas de Decisão - if
n = 0
x = -10
if x>0 :
print ("x positivo",x)
n = n + 1
print n
n = 0
x = -10
if x>0 :
print ("x positivo",x)
n = n + 1
print n
O número de espaços na identação não importa, mas tem
que ser consistente.
Recomenda-se não usar “tab”
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Estruturas de Decisão - if
n = 0
x = -10
if x>0 :
print ("x positivo",x)
n = n + 1
print n
n = 0
x = -10
if x>0 :
print ("x positivo",x)
n = n + 1
print n
O número de espaços na identação não importa, mas tem
que ser consistente.
Recomenda-se não usar “tab”
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Estruturas de Decisão - if
n = 0
x = -10
if x>0 :
print ("x positivo",x)
n = n + 1
print n
n = 0
x = -10
if x>0 :
print ("x positivo",x)
n = n + 1
print n
O número de espaços na identação não importa, mas tem
que ser consistente.
Recomenda-se não usar “tab”
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Estruturas de Decisão - if
n = 0
x = -10
if x>0 :
print ("x positivo",x)
n = n + 1
print n
n = 0
x = -10
if x>0 :
print ("x positivo",x)
n = n + 1
print n
O número de espaços na identação não importa, mas tem
que ser consistente.
Recomenda-se não usar “tab”
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Estruturas de Decisão - if ... else
if (condição) :
comandos
else :
comandos
Exemplo
x = ...
if (x > 0) :
y = sqrt(x)
else :
y = sqrt(-x)
Repare que não pode haver condição para o else
Caso queira colocar uma condição para o else Ü
elif
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Estruturas de Decisão - if ... else
if (condição) :
comandos
else :
comandos
Exemplo
x = ...
if (x > 0) :
y = sqrt(x)
else :
y = sqrt(-x)
Repare que não pode haver condição para o else
Caso queira colocar uma condição para o else Ü
elif
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Estruturas de Decisão - if ... else
if (condição) :
comandos
else :
comandos
Exemplo
x = ...
if (x > 0) :
y = sqrt(x)
else :
y = sqrt(-x)
Repare que não pode haver condição para o else
Caso queira colocar uma condição para o else Ü
elif
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Estruturas de Decisão - if ... else
if (condição) :
comandos
else :
comandos
Exemplo
x = ...
if (x > 0) :
y = sqrt(x)
else :
y = sqrt(-x)
Repare que não pode haver condição para o else
Caso queira colocar uma condição para o else Ü
elif
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Estruturas de Decisão - if ... else
if (condição) :
comandos
else :
comandos
Exemplo
x = ...
if (x > 0) :
y = sqrt(x)
else :
y = sqrt(-x)
Repare que não pode haver condição para o else
Caso queira colocar uma condição para o else Ü
elif
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
OperadoresRelacionais
Decisões
Estruturas de Decisão - if ... else
if (condição) :
comandos
else :
comandos
Exemplo
x = ...
if (x > 0) :
y = sqrt(x)
else :
y = sqrt(-x)
Repare que não pode haver condição para o else
Caso queira colocar uma condição para o else Ü
elif
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Estruturas de Decisão - if ... elif ... else
coeficiente = 0
if coeficiente < 0:
print ’menor’
elif coeficiente == 0:
print ’igual’
else:
print ’maior’
Ü Pode ter qualquer número de elif, inclusive nenhum
Ü else é opcional
Ü sempre testado na ordem
Ü Cuidado com a igualdade entre reais: if(a==b)...
1.99999999999999.... é igual a 2.0000000000000... ?
Melhor escolher uma tolerância aceitável, ex., 1e-10, e
pedir: if(fabs(a-b) < 1e-10) ...
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Leitura de valores a partir do teclado
Para que o programa leia algum valor inserido pelo teclado,
podemos usar a função input:
a = input ("uma mensagem")
Este comando faz com que o programa escreva na tela
‘‘uma mensagem’’ e fique esperando até que algo seja
inserido pelo teclado.
Pode ser usada para receber mais de um valor de uma só
vez:
massa, velocidade = input (‘‘Entre com os
valores da massa e da velocidade nessa
ordem\n’’ )
O \n é para pular uma linha após a mensagem.
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
Exercı́cio
Ü Prepare um algoritmo para encontrar as raı́zes de uma
equação do segundo grau
Ü Implemente este algoritmo escrevendo um programa em
python chamado segundoGrau.py com as seguintes
caracterı́sticas:
1 O programa deve solicitar a digitação dos coeficientes
da equação;
2 Deve ser informado o tipo e o número de raı́zes
existentes;
3 As raı́zes devem ser claramente indicadas, inclusive as
partes reais e imaginárias das soluções complexas. Ex:
Esta equação possui duas raizes
x1 = 3 + 2 i
x2 = 3 - 2 i
4 Pense em valores para os coeficientes que testem
todas as possibilidades
Informática
no Ensino de
Ciências
Apresentação
Referências
Inicializando
python
Operações
Variáveis
Operadores
Relacionais
Decisões
	Apresentação
	Referências
	Inicializando python
	Operações
	Variáveis
	Operadores Relacionais
	Estruturas de Decisão

Continue navegando