Endereços
- Curso: https://bafurtado.github.io/python-ipea-fundamentos-objetos
- Repositório git com os arquivos: https://github.com/baFurtado/python-ipea-fundamentos-objetos/
A. Conditions
- Em python use:
True
andFalse
. Com a primeira maiúscula. - São equivalentes a 1 e 0.
- É um tipo:
type(True)
bool
- Também existem os operadores lógicos
and
or
andnot
>>> 2 + 2 == 4 # True >>> 2 + 3 == 4 # False >>> not True == False # True >>> (2 + 2 == 4) and (2 + 3 == 4) # False
- Conditions começam com
if
terminam em dois pontos:
e necessariamente identação de 4 espaços na linha abaixo. Em seguida, podem terelse
orelif
. Veja os exemplos.
valor = 10
if valor > 10:
print('valor acima do esperado.')
else:
print('valor dentro do esperado.')
container = [9, 65, 7, 0, 4]
if valor in container:
print('valor encontrado')
elif valor - 1 in container:
print('valor imediatamente menor encontrado')
else:
print('não achei nada.')
- Uso de
while
# be careful. Não se esqueça de alterar a condição para que o loop se encerre.valor = 10 while valor >= 0: print(valor) valor -= 1
break
encerra o loop dewhile
. Sai! Quando a condição para obreak
é chamada.valor = 10 while True: if valor > 100: break print(valor) valor += 1
B. Loops
- Loops começam com
for
+ itemin
iterable. Termina em dois pontos e necessariamente tem identação de 4 espaços na linha abaixo.
# Mineiro vai à feira
sacola = ['queijo', 'goiabada', 'pao de queijo', 'torresmo', 'linguiça', 'café']
for item in sacola:
print(item)
# Calculando ímpares
for num in range(10):
if num % 2 == 0:
print(num)
else:
pass
# Vogais maiúsculas
for letter in 'python is cool':
if letter in ['a', 'e', 'i', 'o', 'u']:
# end='' evita escrever na linha seguinte.
print(letter.upper(), end='')
else:
print(letter, end='')
C. Funções
””” Funções são pedacinhos de códigos que facilitam a chamada repetidamente, organizam o código e compõem uma tarefa específica. “””
- Você já viu algumas funções que existem no
namespace
geral do python
# Exemplo de três funções encadeadas: print, sum e range
print(sum([range(10)]))
# Também acessamos type e help
# Essas funcionam porque já estão presentes no ambiente geral
# Tamanho (len) também é uma função muito útil
print(len('python is cool'))
- Funções começam sempre com a palavrinha
def
, terminam em dois pontos e necessariamente exigem 4 espaços na linha abaixo. Usualmente levam parâmetros e podem modificar o objeto, imprimir ou retornar valores.
def soma(a, b):
return a + b
- A função em si, como acima, somente é armazenada no namespace. Para executá-la, é necessário chamá-la em algum outro momento do seu programa.
a = 7
b = 6
print(soma(6, 7))
- Funções, como tudo o resto, são objetos. Portanto, podem ser passadas como parãmetros. ```python def lemma(): print(‘python is cool’)
type(lemma)
def repeat(func): func() func()
repeat(lemma)
5. Funções que não retornam nada, retornam `None`
6. Parâmetros não-nomeados devem respeitar a ordem. No exemplo, o primeiro parâmetro é `a`, o segundo é `b`.
7. É possível nomear parâmetros e entrá-los em outra ordem.
8. Se não nomear, assume base é o primeiro, altura o segundo.
```python
def area_triangulo(base=None, altura=None):
return base * altura / 2
print(area_triangulo(altura=10, base=8))
- Variáveis dentro de funções só estão acessíveis dentro da função.
- NEVER EVER nomeie variáveis com mesmo nome dentro e fora da função. Ainda que elas sejam diferentes.
D. Namespaces
if __name__ == '__main__': # explained
import # explained
Lista de arquivos de exemplos
- list_media.py
- lists_generator.py
- is_even.py
- conditional1.py
- soma.py
- Compare com function3.py
- function0.py
- function1.py
- function2.py
- function4.py
- function5_comentada.py
- function7.py
- namespaces_example.py
- my_first_loop.py
- debug F10 breakpoint
- dic_basics.py
Exercícios
- dic_basics.py
A. Probability with Python. Rascunho de uma simulação numérica…
Quantos alunos são necessários para que uma turma tenha probabilidade quase 1 de ter dois aniversariantes no mesmo dia?
Rodando simulações, chegamos próximos a probabilidades. Por examplo:
- Considere o ano com 365 dias.
- Sorteie dias para aniversários (aumentando o número de
alunos) (
random.randint()
) - Com os dias dos aniversários em uma lista, verifique se há
algum duplicado. (várias possibilidades). Se não conseguir, use
set()
- Faça vaŕias vezes (100). Conte quantos houve pelo menos um duplicado.