and
: Devolve True se ambas as expressões forem verdadeiras
x = 3
x < 10 and x < 5
True
or
: Devolve True se alguma das expressões for verdadeira
x = 5
x == 8 or x == 4
False
not
: Reverte o resultado
x = 12
not(x > 5 and x > 10)
False
in
: Retorna True se a sequência com o valor especificado está presente no objeto
x = "ab"
y = "abcd"
x in y
True
not in
: Retorna True se a sequência com o valor especificado não está presente no objeto
x = "ab"
y = "cd"
x not in y
True
if
: Permite executar um conjunto de instruções caso a condição em questão se verifique
x = 2
y = 4
if y > x:
print("y é maior do que x") #atenção à indentação
y é maior do que x
elif
: Permite executar um conjunto de instruções caso a condição em questão se verifique e todas as anteriores não
x = 4
y = 2
if y > x:
print("y é maior do que x")
elif y < x:
print("y é menor do que x")
y é menor do que x
else
: Permite capturar tudo o que não tenha sido capturado pelas condições anteriores
x = 5
y = 5
if y > x:
print("y é maior do que x")
elif y < x:
print("y é menor do que x")
else:
print("y é igual a x")
y é igual a x
while
: Permite executar um conjunto de instruções enquanto a condição for verdadeira
i = 0
while i<6:
i+=1
i
6
break
: Permite terminar o ciclo mesmo que a condição seja verdadeira
i = 0
while i < 5:
i += 1
if i == 3:
break
print(i)
1 2
continue
: Utiliza-se quando queremos passar uma certa iteração à frente
i = 0
while i < 5:
i += 1
if i == 3:
continue
print(i)
1 2 4 5
for
: Permite executar um conjunto de instruções para cada item de uma lista, de um tuplo, etc.
for x in "banana":
print(x)
b a n a n a
Para correr um script:
python nome_do_script.py
Para correr um script em modo interativo:
python -i nome_do_script.py
def
: Utiliza-se para definir uma função
def my_function(): #sem argumento
print("Hello world!")
my_function() #chamada da função
Hello world!
def check_parity(i): #com argumento
if i%2==0:
print(f"Number {i} is even.")
else:
print(f"Number {i} is odd.")
check_parity(8)
Number 8 is even.
def favourite_color(color = "pink"): #argumento por omissão
print(f"My favourite color is {color}.")
favourite_color()
My favourite color is pink.
def children_names(*args): #número indefinido de argumentos
if len(args) == 0:
print("There are no children!")
else:
print("The children names are:")
for name in args:
print(f"- {name}")
children_names("Maria", "John", "Frank")
The children names are: - Maria - John - Frank
def get_age(**kwargs): #número indefinido de argumentos com nome
for key, value in kwargs.items():
print(f"{key}: {value}")
get_age(name = "Peter", age = 30)
name: Peter age: 30
return
: Uiliza-se para a função devolver um resultado
def double(i):
return i*2
double(2)
4
def factorial(i): #função recursiva
if i == 0:
return 1
else:
return i * factorial(i-1)
factorial(5)
120
pass
: Utiliza-se para definir funções sem conteúdo
def empty_function():
pass
lambda
: função anónima que pode receber qualquer número de argumentos, mas só pode ter uma expressão
x = lambda a: a+10
x(5)
15
Algumas funções pré-definidas relevantes:
abs(-7)
7
len("abcde")
5
for i in range(10):
print(i)
0 1 2 3 4 5 6 7 8 9
1) Escreva uma função que verifica se uma string contém o caractere "a".
2) Dados dois números inteiros, escreva uma função que retorna o maior.
3) Dado o raio de uma circunferência, escreva uma função que retorna o seu perímetro.
4) Escreva uma função que retorna um quadrado de 5 por 5 cardinais ("#").
5) Dados dois números inteiros, escreva uma função que retorna o seu produto caso este seja maior do que 1000, caso contrário retorna a sua soma.
6) Dados os termos $a$, $b$ e $c$ de uma equação de segundo grau, escreva uma função que retorna o resultado da aplicação da fórmula resolvente.
7) Dado um número natural, escreva uma função que imprime os seus divisores. Tenha em conta que os divisores de um número natural $n$ são os inteiros $k \leq n$ tais que o resto da divisão de $n$ por $k$ é 0.
8) Dado um número natural, escreva uma função que calcule o termo de Fibonnaci para esse número.
9) Escreva uma função que percorre os números inteiros de 1 até 50. Para os múltiplos de 3 imprime "Fizz", para os múltiplos de 5 imprime "Buzz" e para os múltiplos de 3 e 5 simultaneamente imprime "FizzBuzz".
10) Escreva uma função que verifica a velocidade dos condutores: se a velocidade for menor que 70 deverá imprimir "ok", por cada 5km acima do limite de velocidade (70) deverá implicar um furo na carta e imprimir o número de furos, se o condutor tiver mais de 12 furos na carta deverá imprimir "carta de condução suspensa".