03 - ESTUDO DO PYTHON Flashcards
Qual a precedência entre operadores em Python?
- Toda e qualquer operação destacada entre parênteses tem mais prioridade, lembrando-se que, quando há parênteses aninhados (uns dentro dos outros), deve-se resolver, primeiramente, os parênteses mais internos e, só depois, os mais externos.
- Operações aritméticas são as primeiras a serem avaliadas pelo interpretador Python: primeiramente, tenta-se resolver operações de exponenciação, em um segundo momento, as operações de multiplicação ou divisão são avaliadas e, por fim, as operações de adição e subtração são resolvidas.
- Expressões relacionais são as próximas na cadeia de precedência. Após ter avaliado as expressões aritméticas, pode-se comparar os resultados numéricos dos operandos envolvidos na operação relacional. Como resultado, pode-se obter um valor lógico True ou False, dependendo se a comparação relacional é verdadeira ou falsa, em tempo de execução, respectivamente.
- Por fim, a máquina tentará resolver as negações lógicas, depois, as conjunções lógicas, finalmente, as disjunções lógicas, nesta ordem.
Quais são os operadores de atribuição combinados com operações aritméticas, para: 1 - Soma. 2 - Subtração. 3 - Multiplicação 4 - Divisão 5 - Resto de Divisão 6 - Exponenciação 7 - Divisão arredondada para baixo
Operador Ex. Equivalente
1) +=………….x += y………Equivale a x = x + y.
2) -=………….x -= y………Equivale a x = x - y.
3) *=………….x *= y………Equivale a x = x * y.
4) /=………….x /= y………Equivale a x = x / y.
5) %=………….x %= y………Equivale a x = x % y.
6) **=………….x **= y………Equivale a x = x ** y.
7) //= ………….x //= y………Equivale a x = x // y.
Como utilizar um comando chamado back space?
O comando chamado back space () cancela o comando. ex.
h = “A letra "b" está entre aspas”
> “A letra “b” está entre aspas”
Como se diferencia o uso da aspas simples e dupla, ao mesmo tempo?
O uso das aspas pode ser simples ou dupla. Mas casos em que se precisa usar as duas, quando se quer colocar aspas internamente dentre de uma str. Não se pode usar as mesmas aspas dentro de uma str. Veja exemplo
f = “A letra ‘b’ está entre aspas”
> “A letra ‘b’ está entre aspas”
Caso utilize as mesmas aspas, simples ou duplas, haverá erro. Não pode usar assim: ‘A letra ‘b’ está entre aspas’ ou assim “A letra “b” está entre aspas”
Como são os valores da conjunção e disjunção?
No operador conjunção e (end ou &) lembrando que os dois precisam ser verdadeiros.
Já no operador disjunção ou (or ou |) lembrando que apenas um deles precisa ser verdadeiro.
Além da forma tradicional de se atribuir um valor a uma variável (instanciamento), qual a outra forma de atribuição, de forma sequencial?
a, b, c = 1, 2, 3
*** Nota-se que para funcionar esta forma de atribuir valores, tem que haver o mesmo número de variáveis e valores. Neste caso foram três variáveis para três valores.
Por convenção, como as variáveis de nome grande são separadas?
São separadas por underline ( _ ). Exemplo: vaiável_e_grande. (ao invés de variávelegrande)
Qual o comando que serve para dizer qual é o tipo de variável se está usando?
type(nome da variável)
Como se pode usar o comando % para substitui o valor de uma variável?
Fruta = “laranja”
print(“Suco de %s é meu Favorito!” %fruta)
%s para str
%d para int
%f para float
Como podemos utilizar o comando format?
1ª versão: Como substituição de variável
fruta = “laranja”
print(“Suco de { } é meu Favorito!” . format (fruta) )
*** Observa que o comando { } fica uma variável no lugar da fruta. No final você deve colocar o ponto e depois informar o nome da variável format (fruta)
cor1 = “azul”
cor2 = “rosa”
print(“O céu é {0}. A flor é {1}, o meu carro é {1}!” . format (cor1,cor2) )
< O céu é azul. A flor é rosa, o meu carro é azul!
2ª versão: como limitação de casas decimais
conta = 17/3
print(“O resultado da conta é: {: . 2f}” . format (conta) )
*** Observa que a divisão 17/3 daria 5,6666666666…. O 2f informa o Python que ele pode deixar com duas casas de precisão. Se colocar 3f, seria impresso três casa decimais.
< O resultado é 5.67
Para que serve o comando \n ?
O comando \n serve para quebrar a linha quando for imprimir a mensagem.
print("Parabéns\nFelicidades\nPaz\nAmor\nSaúde e \nProsperidade") < Parabéns Felicidades Paz Amor Saúde e Prosperidade
Qual o nome do comando que voc~e possa fazer uma função?
def
Qual a estrutura de uma função?
def ......nome da função....... (parâmetro1, parâmetro2): (return) descrever a função que vc quer
Para chamar a função:
nome da função.(parâmetro1, parâmetro2):
Faça um exemplo de uso de uma função, somando dois números?
def soma_dois_valores(valor1, valor2): return valor1 + valor2
soma_dois_valores(3,2):
< 5
ou
def soma(num3, num4): num3 + num4 print(num3 + num4)
soma(5, 2)
< 7
Existem outras funções já definidas no próprio Python, que não precisa usar o def, dê exemplos:
1) print(‘Olá’) → Olá
2) Transformar str em inteiro int(‘3’) → 3
3) Transformar float em inteiro int(10.3) → 10
4) Transformar int em float float(10) → 10.0
5) Transformar int em str istr(10) → ‘10’
6) Para contar o número de letras len(’Olá’) → 3 (len vem do inglês length, que quer dizer tamanho)
7) Atribuir uma variável x = -10 → -10
8) Função abs , abs(x) → 10 (o abs é como se fosso módulo de um número. Observação: “x” foi usado da vaiável acima)
9) Temos a função listas, e também podemos soma-las com a função sum, listas = {1,2,3,4,5} , sum(listas) → 15
10) Somar a quantidade de elementos de uma lista também se utiliza da função len , len(listas) → 5 Observação: “listas” foi usado do exemplo acima)
11) Saber qual o elemento máximo de uma lista se utiliza da função max , max(listas) → 5 Observação: “listas” foi usado do exemplo acima)
12) Saber qual o elemento mínimo de uma lista se utiliza da função min , min(listas) → 1 Observação: “listas” foi usado do exemplo acima)
13) Temos a função round, para arredondar o valor , round(13.47) → 13 (se passar de 0,5, ele arredonda para cima. Ex.: 13,51, vai para 14)
14) Temos a função round, para determinar e arredondar o valor das casas decimais, round(13.57, 1) → 13,6 (o nº 1 quer dizer com uma casa decimal). Outro exemplo:
round(13.579, 2) → 13,58 (o nº 2 quer dizer com uma casa decimal. Se por 0, fica sem casa decimal)
O que faz com que o Python saber que se trata de uma lista?
É ter os elementos da lista dentro de colchetes [ ] e separado por vírgulas se mais de um elemento.
Imprima os elementos de uma lista, usando o comando for.
lista = [ 5, 7, 27, 33] for i in lista: print ( I ) # para cada elemento "i" de dentro da lista # imprima "i"
< 5
7
27
33
. Para somar os valores dos dados das listas usamos qual comando? E para saber a quantidade de elementos na listas usamos qual comando?
Para somar os valores dos dados das listas usamos o comando sum( ). Para saber a quantidade de elementos na listas usamos o comando len( ). Veja o exemplo abaixo:
notas = [2,3,6,8,9,5,6,7,1,8]
sum(notas)
< 55
len(notas)
< 10
media = sum(notas) / len(notas)
media
<5.5
Para acrescentar elementos na lista, usamos qual comando? E para substituior um elemento em uma certa posição da lista?
Para acrescentar elementos na lista, usamos o comando append( )
notas = [2,3,6,8,9,5,6,7,1,8]
notas.append(10)
> [2,3,6,8,9,5,6,7,1,8,10]
lista = [2, 4, 7]
lista[0] = 20
> [20, 4, 7]
*** Este comando lista[0] = 20 é diferente do append porque no primeiro, o elemento 2 (posição 0) foi substituído pelo o elemento 20 (também posição 0). O comando append, somente iria acrescentar um elemento na posição final. Ou seja, posição 3
Se a lista [2, 4, 7] fosse uma tupla (2, 4, 7) não seria possível esta troca.
O que é uma tupla?
A tupla nada mais é que uma lista que não pode ser alterada. Não é o nome que faz a lista ficar uma tupla. É os parênteses que torna a lista uma tupla. A diferença entre lista e tupla é que a tupla não se pode substituir seus elementos.
Faça um comando algoritmo usando a condicional if e else.
a=5 b=3 soma=a+b if soma==8: print("A soma é 8") else: print("A soma não é 8")
< A soma é 8
Faça um comando algoritmo usando a condicional if e várias outras condicionais ao mesmo tempo, usando o comando elif
comida = “churrasco” If comida = = “pizza” : print(“possui muitas calorias”) elif comida = = “abóbora” : print(“possui poucas calorias”) elif comida = = “churrasco” : print(“possui muitas calorias”) elif comida = = “melão” : print(“possui poucas calorias”)
< possui muitas calorias
OBSERVAÇÃO IMPORTANTE; QUANDO ESCREVER O SCRIPT, TEM QUE ESTAR NA MESMA CÉLULA O IF + OS VÁRIOS ELIF , NO JUPYTER
Faça um comando algoritmo usando os comandos for e range
for n in range(5):
print(n)
< 0 1 2 3 4
Faça um comando algoritmo usando os comandos for e range para imprimir algo por 5 vezez.
for n in range(5):
print(“gostei dessa aula”)
< gostei dessa aula gostei dessa aula gostei dessa aula gostei dessa aula gostei dessa aula
Como você pode deletar um único elemento de uma lista?
lista = [20, 4, 7, 6] del lista[3] > [20, 4, 7] 0 é o primeiro 1 é o segundo 2 é terceiro e assim por em diante
Qual o comando para adicionar um elemento em uma lista?
append
Como se faz para transformar uma lista em uma tupla?
lista = [,4,7]
novatupla = tuple(lista)
> (4, 7)
type(novatupla)
> tuple
Como se cria uma tupla com um único elento?
Se você quer criar uma tupla com um único elemento, exemplo (3), e se você der um type, ele vai dizer que o 3 é um “int” (inteiro) e não uma tupla. Para você dizer que este conjunto de único elemento é uma tupla, você precisa pelo menos por uma virgula (3,). Se for dois elementos (3, 2) observe que já tem uma vírgula, daí não há esta preocupação. O mesmo ocorre se o único elemento for texto.
tuple = (3,)
type(tupla)
> tupla
Na tupla, pode-se adicionar elementos?
Na tupla, teoricamente, não pode ser adicionado novos elementos. Mas há uma forma de adicionar elementos, apesar de ser considerado uma não modificação.
notas_tuplas = (3,5,6,1)
notas_tuplas = notas_tuplas + (7,)
notas_tuplas
> (3, 5, 6, 1, 7)
Observação: 9 = 9 + 1 → 10, pode ser substituído pelo símbolo: 9 += 1 → 10 (o “+“ subentende que repete o 9). Então pode ser descrito o logaritmo assim:
9 = 9 - 1 → 8, pode ser substituído pelo símbolo: 9 -= 1 → 8
LOGO:
notas_tuplas += (8,)
notas_tuplas
> (3, 5, 6, 1, 7, 8)
Para que serve a função “sets” Qual sua importância?
A função set, acoplado no nome da variável de uma lista, ao imprimir a lista ela ordena os valores do menor para o maior e exclui os valores repetidos. Veja o exemplo:
sets_notas1 = {2,3,6,8,9,5,6,7,1,8,3}
sets_notas1
> {1, 2, 3, 5, 6, 7, 8, 9}
*** Observe que os valores foram ordenados e excluídos os repetidos.
Esta função é importante quando você não quer e não precisa repetir os mesmos elementos no banco de dados.
Como adicionar novos elementos usando o comando set? Qual a condição imposta para isso?
A função set_ permite adicionar novos elementos, desde que não seja repetidos.
sets_notas1 = {2,3,6,8,9,5,6,7,1,8,3}
sets_notas1.add(10)
sets_notas1
> {1, 2, 3, 5, 6, 7, 8, 9,10}
Adicional uma lista de nomes de pessoas conhecidas. Depois crie uma variável (input) para você digitar um nome, e uma condicional para dizer se a pessoa é conhecida ou não:
pessoas_conhecidas = [ ‘João’, ‘Maria’, ‘José’, ‘Ana’ ]
pessoa = input(‘entre com o nome de uma pessoa: ‘)
> entre com o nome de uma pessoa: João
if pessoa in pessoas_conhecidas:
print(‘você conhece essa pessoa’)
** Através do in, se pode verificar se existe o valor da variável pessoa dentro da pessoas_conhecidas
** Assim se pessoa estiver dentro da lista ele vai imprimir o print(‘Você conhece essa pessoa’)
> você conhece essa pessoa
Adicional uma lista de nomes de pessoas conhecidas. Depois crie uma variável (input) para você digitar um nome, e uma condicional para dizer se a pessoa é conhecida ou não, aparecendo o nome que vc digitou. Use o comando format.
pessoas_conhecidas = [ ‘João’, ‘Maria’, ‘José’, ‘Ana’ ]
pessoa = input(‘entre com o nome de uma pessoa: ‘)
> entre com o nome de uma pessoa: Maria
if pessoa in pessoas_conhecidas:
print(‘você conhece essa {}’.format(pessoa))
else:
print(‘você não conhece { }’.format(pessoa))
*** O lugar onde está a chave { } vai entrar o nome da pessoa
> você conhece Maria
ou
if pessoa in pessoas_conhecidas:
print(‘você conhece ‘+pessoa)
else:
print(‘você não conhece {}’.format(pessoa))
*** O lugar do { }’.format(pessoa)), ficou +pessoa
> você conhece Maria
Existe uma outra forma mais moderna e elegante de se fazer a mesma coisa.
if pessoa in pessoas_conhecidas:
print(f ‘você conhece {pessoa}’)
else:
> você conhece Maria
Fazer um programa a qual o usuário informa seu ano de nascimento e o programa informa se é menor ou maior de idade (desconsidere o mês e dia de nascimento).
idade = int(input ("Qual o ano de seu nacimento? ")) diferença = 2021-idade if diferença >= 18: print ("É maior de idade") else: print ("É menor de idade")
> Qual o ano de seu nascimento? 2010
É menor de idade
Como é o acesso dos elementos de uma lista?
notas = [1,2,3,4,5,6]
notas[2]
> 3
Como é o acesso dos elementos de uma lista?
notas = [1,2,3,4,5,6]
notas[2]
> 3
Como imprimir 7 vezes “amor”, usando o comando de looping?
a = 0 b = 7 for i in range(b): print (“Amor”) > Amor Amor Amor Amor Amor Amor Amor
Como imprimir as palavras “amor”, de pé, usando o comando de looping?
É qwuando você substitui o range por uma variável.
frase = “Amor”
for i in frase:
print ( i )
** for i in frase = Para cada variável “i”, dentro da variável “frase”, imprima a “frase que é o amor”
** for = para cada
** Esta variável “ i” poderia chamar de qualquer coisa, letra a, b, asrebs, desde que repete a variável no parênteses do print
** frase = Local onde esta armazenado o texto
> A
m
o
r
OBS: no lugar da “frase” poderia ser uma lista também
Como criar uma lista com dez elementos usando o range? Como manipular esta criação usando o range?
list(range(10))
> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Também se pode manipular o range, colocando início, sequencias etc. O primeiro número do parêntese é de onde começa a sequência de elementos, o segundo após a vírgula é o stop, onde ele vai parar (ele para um número antes). O terceiro número após a vírgula é o passo, é se a sequência vai ser de um e um, dois em dois, etc.
list(range(1,11,2))
*** Começa no nº 1, vá até 0 nº 11(ele para um nº antes) e vai de dois em dois). Importante o passo de dois em dois, porque se começar no nº 1, você vai ter números impares. Se começar do zero vai ter número pares.
> [1, 3, 5, 7, 9]
Faça uma operação matemática usando o for e o range.
for num in range(0,10,2): print(num**2) > 0 4 16 36 64
Faça um looping condicional usando o while, sleep e o break
Para por observar as etapas de cada looping, pode-se usar o comando import time – time . sleep (1) (este nº 1 é de 1 segundo de aguarde para cada looping).
O break, antecedido de uma condicional. este comando ele trava o looping quando é satisfeita a condição anterior a ele. Observe o exemplo abaixo:
import time Comando = 0 while comando < 10: print(“Ainda não deu”) comando = comando + 1 if comando == 6: break time.sleep (1) Print (“Agora deu!) *** O break vai travar o looping quando for satisfeita a condição if comando == 6. Muito importante o break ter dois IDENNTAÇÃO porque ele está para executar a condição if.
> Ainda não deu Ainda não deu Ainda não deu Ainda não deu Ainda não deu Ainda não deu Agora deu! *** Nota-se que foi impresso 6 vezes os dizeres “Ainda não deu”, que contando com o 0, deveria ter impresso 7 vezes e não 6 vezes. Acontece que ele não executou o comando = 6, o programa rodou até o comando = 5 porque é para parar (e não executar) o comando = 6. Observe também que ele travou o looping no comando = 6, sem executar este, mas depois passou a rodar a outra operação: print(“Agora deu!”).
Como o Python reconhece a lista, tupla e o dicionário?
Python compreende a lista quando os elementos estão entre colchetes [ ], a tupla por meio dos parênteses ( ) e o dicionário é por meio das chaves { }. Logo, não são os nomes: lista, tupla e dicionário que dá o comando para o Python, e sim são os [ ], ( ) e { } Respectivamente. Lista, tupla e dicionário são variáveis que você poderia por qualquer outro nome
Como está dividido a Bibliotecas do Python?
Cada Biblioteca é dividida em módulos. cada módulos é dividido em funções. E por fim, cada função é dividido em atributos específicos. Vamos exemplificar a Biblioteca datetime.
datetime (Biblioteca).date(módulo).today(função).day(atributo específico).
import datetime
datetime. date.today( )
* ** Observe que o comando para importar(import), buscou informações da Biblioteca datetime. Esta Biblioteca tem a função de identificar datas. Na linha 2, coloca-se a Biblioteca(datetime), o módulo(date) e a sua função (today( )).Tudo separado por pontos(.).
> datetime.date(2021, 4, 21)
*** O resultado é 2021(ano), 4(mês), 21(dia), forma americana de escrever a data.
Como é a estrutura do comando de um dicionário?
1 - Fica entre chaves { }
2 - Separado entre vírgulas, se str entre aspas
3 - Na esquerda fica a chave e na direita fica o valor.
4 - Para melhorar a visualização, deve dar um enter para cada conjunto de chave e valor, para não ficar várias chaves e valores na mesma linha.
Para acessar o dicionário usa-se o que? Como se fáz o acxesso do dicionário?
Usa-se o colchete [ ]
meu_dicionário = {‘nome’: ‘Ana’, ‘idade’ : 23, ‘notas’ : [10, 9, 7, 5 6}
meu_dicionário[‘nome’]
> Ana
meu_dicionário[‘notas’]
> [10, 9, 7, 5 6}
Como é a estrutura de uma lista de dicionários? E como fazer sua busca?
universidades = [{‘nome’: ‘blablablas’, ‘Sigla’, ‘USP’, {‘nome’: ‘blablablas’, ‘Sigla’, ‘UNESP’}]
universidades[0][‘sigla’]
> USP
Como podemos usar o range para fazer uma lista?
[x for x in range(5)]
*** para a variável x, colocar para cada elemento dentro do range, cinco elementos). Esta linha de comando vai dar cinco elementos de uma lista, do zero a 4: [0, 1, 2, 3, 4].
OBS Com este tipo de linha de comando, pode-se manipular o x (primeiro dele) de qualquer formar, exemplo:
[x2 for x in range(5)]
> [0, 2, 4, 6, 8]
** Operações matemática como multiplicar, elevar ao quadrado, etc. com os elementos do range
Usar o range para fazer uma lista sw númwros pares e outra de ímpares.
[x for x in range(10) if x % 2 == 0]
> [0, 2, 4, 6, 8]
** A linha de comando tem a seguinte compreensão: X para cada elemento dentro do ranger (de 0 a 9), se a divisão deste elemento por dois for igual a 0
** A condição para um elemento ser par é ter sua divisão igual a zero. O comando %, traz o resto da divisão.
[x for x in range(10) if x % 2 == 1]
> [1, 3, 5, 7, 9]
Os comandos para str para ajustar nomes dentro de uma lista, são
strip( ) : ele tira os espaços sobrando entre as aspas.
lower( ) : coloca todas as letras em minúscula.
upper( ) : coloca todas as letras em maiúscula.
capitalize( ) : coloca somente a primeira letra em maiúscula e as outras ele deixa em minúscula.
De exemplo de uso igual de uma função def e de lambda.
def diz_ola( ):
print(‘Olá’)
diz_ola( )
> Olá
ola = lambda : print(‘Olá’)
ola( )
> Olá
*** Neste exemplo, não foi preciso colocar o argumento
aoquadrado = lambda x : x2
* A regra geral do lambda é que a digitação do comando deve estar em uma única linha
*** Variável = lambda X : X2
- Variável que será atribuída a função, para você chamar depois
- lambda = Palavra chave
- X = Argumento, é a função
X2 = O que vc quer que este argumento, que está função faz, é o retorno
Veja usando lambda e p format