PythonAula 1818/09/20261h43
AT de Python: regras e leitura das 16 questões
Retoma input() com int() e float(), for com if, função com def e return e lista das aulas de repetição e DudaBet. Apresenta as regras do AT com 16 questões para 5 competências e lê uma por uma o que fazer e o que é proibido. Entrega do AT é dia 27 de setembro, com duas semanas sem aula e volta dia 6 de outubro, e TP fora do prazo limita a nota final a D mesmo gabaritando o AT.
O que foi falado
Regras do AT, TPs e aprovação por competências
00:07:11O AT define a nota e os TPs são obrigatórios para aprovar. Para passar precisa de 50% em cada competência, que na prática é acertar 2 de 3 nas comps 1 a 4 e 2 de 4 na comp 5. Quem não mostrar competência vai para reentrega só com as questões que faltaram.
00:21:12input(), ficha com|eforsemsum()Q1 pede 6 valores em ordem e converte com
int()oufloat(), sem validar porque todos são positivos. Q2 monta a ficha em um únicoprint()com campos separados por|usando.title()para o nome e.upper()para o tipo sanguíneo eround()com 2 casas para custo. Q3 proíbesum(),max()emin()e exige somar e achar maior e menor comformaisif, e a lista de doações pode ser fixa no código.nome = "ana souza" print(f"{nome.title()} | {round(10.567, 2)}")Saída
Ana Souza | 10.57
Função com
00:38:17def, padrão edocstringQ4 cria
formataNomecomdef, ondesobrenometem valor padrão""e vira opcional. Valor passado pela posição cai no parâmetro certo, mas comnome=esobrenome=a ordem não importa. Logo depois dodefvai adocstringcom"""em descrição maisArgseReturnsno padrão Google, que aparece ao passar o mouse.def formataNome(nome, sobrenome=""): """Formata nome completo.""" return f"{nome.title()} {sobrenome.title()}" print(formataNome("ana")) print(formataNome("ana", sobrenome="souza"))Saída
Ana Ana Souza
00:51:04//e%,while Truee fatorialQ5 recebe minutos fora e a função só formata com
//para horas e%para minutos, com singular só quando vale 1. Q6 repete leitura de pesos comwhile Trueebreak, comparando com.lower()para aceitar"sair"de qualquer jeito. Q7 conta faixas comformaisifoumatch-casesem usar variável de fora, e Q9 escrevefatorialuma vez e reaproveita paraC(n,k)pela fórmula n! / (k! * (n-k)!).total = 130 h = total // 60 m = total % 60 print(f"{h} h e {m} min")Saída
2 h e 10 min
Investimento com penalidade, bônus e juros
01:16:35Abaixo de 3 meses não rende e perde 2% do inicial. Com 18 meses ou mais soma 0.5% do inicial antes de render. A partir de 3 meses aplica a taxa todo mês sobre o acumulado com juros compostos, mas a correção aceita juros simples com comentário. O cálculo anda mês a mês com
forusando taxa em decimal como0.05para 5%.capital = 1000 taxa = 0.05 total = capital for i in range(3): total = total + total * taxa print(round(total, 2))Saída
1157.62
Listas sem
01:33:31set(), senha e gridWASDQ11 acha comuns e exclusivos só com
forein, porqueset()é proibido. Q12 ignora maiúscula com.lower(), conta com.count()e acha o mais citado semmax(). Q15 acumulafloat()até a meta e Q16 move em grid 10x10 com"W","A","S"e"D", onde sair do limite mostra colisão e mantém a posição.grid = [] for i in range(10): linha = [] for j in range(10): linha.append(".") grid.append(linha) print(len(grid))Saída
10
Perguntas que valem a pena
Para que serve função se daria para usar variável?00:44:57
Função centraliza lógica repetida para reutilizar sem repetir código, como aplicar a mesma formatação para 10 nomes.
A docstring só existe dentro da função e precisa de aspas triplas?00:46:41
Na função, a docstring é o primeiro texto do corpo, logo após o def, normalmente escrito com aspas triplas. Ela também pode documentar módulos e classes e fica acessível para ferramentas de ajuda. Um texto entre aspas triplas em outra posição é uma string, não um comentário Python; comentários usam #.
Pode só usar print() em vez de return?00:48:55
Não, se a questão pede retorno e você só mostra com print() está errado, assim como trocar parâmetro por input().
Os juros são simples ou compostos, conta carência e o bônus é sobre o quê?01:10:58
Tem carência de 3 meses, bônus de 0.5% sobre o capital inicial e rendimento com juros compostos, mas aceita juros simples com comentário.
Conceitos da aula
- input()
- for
- função
- parâmetro / argumento
- return / retornar
- docstring
- while
- break
- lista
- round()
- lower()
- count()
Reforce este assunto
- Primeiras funções: `def`, parâmetros, retorno e docstringsPython · trilha, etapa 9
- Strings, input e conversõesPython · trilha, etapa 4
- Laços `for` e `while` com `range`, `break` e `continue`Python · trilha, etapa 7