Logística:
Objetivos de aprendizado:
As variáveis são as mesmas que as variáveis em matemática, exceto que variáveis matemáticas são muitas vezes letras, mas variáveis de programação podem ser palavras.
Variáveis: um conjunto que contém algumas informações.
Nota sobre a declaração de variáveis:
class
, finally
, etc.)# Exemplos de declarações de variáveis
width = 10
# Note que o "H" está em letra maiúscula
Height = 5
area = 0
width
Height
# Usando uma palavra-chave python como um nome variável
# ERROR CODE: sintaxe inválida
global = 1
global
# Mais declarações para diferentes tipos de variáveis
# armazenando uma string
helloMessage = "Hello World!"
first_name = "John"
# armazenando um caractere
character_example = 'a'
# armazenando um float
_newFloat = 1.0
# armazenando um valor booleano
bool_Condition = True
helloMessage
character_example
_newFloat
bool_Condition
A partir do tópico 1.1.1, aprendemos como declarar corretamente um nome variável para diferentes tipos de dados. Neste tópico, vamos explorar como "computar" ou converter o tipo dos dados entre si.
Uma função útil: type()
define o tipo dos dados
# A partir da declaração acima, width = 10 e 10 é int, então esperamos que a função retorne int
type(width)
type(helloMessage)
type(bool_Condition)
# Vamos computar um float em um int e vice-versa
# Computaremos o tipo e depois o armazenaremos em uma nova variável
width_float = float(width)
type(width_float)
# Computar de float para int
width_int = int(width_float)
type(width_int)
# Computar entre string e int
# Lembrar que width armazena um int
# Converter width para string
width_string = str(width)
type(width_string)
# Converter width_string de volta a um int
type(int(width_string))
# Operações matemáticas básicas com Números
# Adição
print(5+23)
# Subtração
print(100-25)
# Multiplicação
print(5*10)
# Potência/Exponente
# o operador ** é equivalente ao expoente
print(5**2)
# 5*5 = 5^2 = 5**2
print(5*5)
# Divisão (float)
# Retornar o valor decimal real da divisão
print(36/4)
print(10/3)
# Divisão (int)
# Retornar um int. Se o quociente real for um valor decimal, apenas um número inteiro irá retornar
print(10//3)
print(19//6)
# Divisão Modular: retornar o restante da divisão
print(10%3)
# Operações com Strings e Caracteres
print("foo" * 5)
print('x'*3)
# ERRO: o compilador trata x como uma variável, não como um caractere
print(x*3)
# ERRO: não pode concatenar um int com uma string --> necessidade de computar int com uma string
print("hello" + 5)
# Fix
print("hello " + str(5))
# Adição de String = concatenação
print("hello " + "world")
# Comparadores: retornar valor booleano
# Igualdade ==
# Nota: DEVE ser sinais de igual Duplos, um sinal de igual único é atribuição
print(5 == 5.0)
# Maior do que >
print(7 > 1)
# Menor do que <
print(1.5 < 90)
# Maior ou igual a >=
print(5.0 >= 5)
print(5.0 >= 4)
print(5 >= 13)
# Menor ou igual a <=
print(10 <= 10.0)
print(10 <= 20)
print(8 <= 3)
# Comparadores em Strings
print("hello" < "world")
print("hello" == "world")
print("hello" > "world")
print("hello" == "hello")
print("cat" < "dog")
If
¶Avisos importantes:
elif
" = "else if
"elif
" expressa o mesmo significado que "else if
"if
e elif
, senão ERROR!if
e elif
são opcionais. Seu código funcionará com ou sem o ().x = 7
y = 14
if (2*x == y):
print("y is double of x")
elif (x**2 == y):
print("y is the squared of x")
else:
print("y is NOT double of x")
x = 7
y = 49
if (2*x == y):
print("y is double of x")
elif (x**2 == y):
print("y is the squared of x")
else:
print("y is NOT related to x")
x = 7
y = 50
if (2*x == y):
print("y is double of x")
elif (x**2 == y):
print("y is the squared of x")
else:
print("y is NOT double nor squared of x")
O Python NÃO tem uma implementação para os switch cases
, mas uma maneira de implementá-lo é com o dicionário, uma estrutura de dados que armazena o par de valores chave (Módulo 3).
switch
são armazenadas como chaves no dicionário, e as ações armazenadas como valor.get()
.def switcher(number):
# Use dicionário (do Módulo 3) para armazenar switch cases
# Se não for encontrado, o get() será o valor padrão
return {
'0':"Entered 0",
'1':"Entered 1",
'2':"Entered 2",
'3':"Entered 3",
'4':"Entered 4",
'5':"Entered 5",
'6':"Entered 6",
'7':"Entered 7",
'8':"Entered 8",
'9':"Entered 9",
}.get(number,"Invalid number!")
# input() lê uma entrado do usuário de stdin
number = input("Dial a number")
switcher(number)
"""
EXERCÍCIO: implemente o exemplo de switch case acima usando as condições "if/else"
Prompt: para cada dígito entre 0-9, o programa imprimirá uma confirmação
para o valor inserido ou irá imprimir "invalid inputs" para todos os outros números.
"""
NÃO VEJA A SOLUÇÃO ABAIXO ANTES DE TENTAR FAZER O EXERCÍCIO!
NÃO VEJA A SOLUÇÃO ABAIXO ANTES DE TENTAR FAZER O EXERCÍCIO!
NÃO VEJA A SOLUÇÃO ABAIXO ANTES DE TENTAR FAZER O EXERCÍCIO!
NÃO VEJA A SOLUÇÃO ABAIXO ANTES DE TENTAR FAZER O EXERCÍCIO!
NÃO VEJA A SOLUÇÃO ABAIXO ANTES DE TENTAR FAZER O EXERCÍCIO!
NÃO VEJA A SOLUÇÃO ABAIXO ANTES DE TENTAR FAZER O EXERCÍCIO!
NÃO VEJA A SOLUÇÃO ABAIXO ANTES DE TENTAR FAZER O EXERCÍCIO!
NÃO VEJA A SOLUÇÃO ABAIXO ANTES DE TENTAR FAZER O EXERCÍCIO!
NÃO VEJA A SOLUÇÃO ABAIXO ANTES DE TENTAR FAZER O EXERCÍCIO!
NÃO VEJA A SOLUÇÃO ABAIXO ANTES DE TENTAR FAZER O EXERCÍCIO!
NÃO VEJA A SOLUÇÃO ABAIXO ANTES DE TENTAR FAZER O EXERCÍCIO!
NÃO VEJA A SOLUÇÃO ABAIXO ANTES DE TENTAR FAZER O EXERCÍCIO!
NÃO VEJA A SOLUÇÃO ABAIXO ANTES DE TENTAR FAZER O EXERCÍCIO!
NÃO VEJA A SOLUÇÃO ABAIXO ANTES DE TENTAR FAZER O EXERCÍCIO!
number = input("Dial a number")
if number == '0':
print("Entered 0")
elif number == '1':
print("Entered 1")
elif number == '2':
print("Entered 2")
elif number == '3':
print("Entered 3")
elif number == '4':
print("Entered 4")
elif number == '5':
print("Entered 5")
elif number == '6':
print("Entered 6")
elif number == '7':
print("Entered 7")
elif number == '8':
print("Entered 8")
elif number == '9':
print("Entered 9")
else:
print("Invalid number!")