Skip to content

Commit

Permalink
Merge branch 'main' into devpro-br#69
Browse files Browse the repository at this point in the history
  • Loading branch information
sarabrangioni authored Jun 24, 2022
2 parents 5e08358 + 7b40a4d commit 1fa5b99
Show file tree
Hide file tree
Showing 15 changed files with 296 additions and 26 deletions.
24 changes: 24 additions & 0 deletions .github/workflows/corretor_de_exercicios_secao_04.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,30 @@ jobs:
if: always()
run: |
python -m doctest -f secao_04_exercicios_lista/ex_01_vetor_5_numeros.py
- name: Correção do Exercício 05 da seção de Listas
if: always()
run: |
python -m doctest -f secao_04_exercicios_lista/ex_05_vetore_par_e_impar.py
- name: Correção do Exercício 09 da seção de Listas
if: always()
run: |
python -m doctest -f secao_04_exercicios_lista/ex_09_soma_de_quadrados.py
- name: Correção do Exercício 10 da seção de Listas
if: always()
run: |
python -m doctest -f secao_04_exercicios_lista/ex_10_intercalacao_de_vetores.py
- name: Correção do Exercício 11 da seção de Listas
if: always()
run: |
python -m doctest -f secao_04_exercicios_lista/ex_11_intercalacao_de_3_vetores.py
- name: Correção do Exercício 12 da seção de Listas
if: always()
run: |
python -m doctest -f secao_04_exercicios_lista/ex_12_filtro_de_baixinhos.py
- name: Correção do Exercício 13 da seção de Listas
if: always()
run: |
python -m doctest -f secao_04_exercicios_lista/ex_13_media_de_temperaturas_anual.py
- name: Correção do Exercício 24 da seção de Listas
if: always()
run: |
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/corretor_de_exercicios_secao_06.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,11 @@ jobs:
if: always()
run: |
python -m doctest -f secao_06_exercicios_strings/ex_01_comparador_de_strings.py
- name: Correção do Exercício 02 da seção de Strings
if: always()
run: |
python -m doctest -f secao_06_exercicios_strings/ex_02_inversor_maisculo.py
- name: Correção do Exercício 05 da seção de Strings
if: always()
run: |
python -m doctest -f secao_06_exercicios_strings/ex_05_nome_vertical_escada_invertida.py
6 changes: 3 additions & 3 deletions secao_03_estrutura_de_repeticao/ex_40_transito.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@
>>> calcular_estatisticas(('SJC', 190_000, 300), ('SP', 1_000_000, 2_000 ),
... ('BH', 800_000, 1000), ('FZ', 600_000, 700), ('FL', 150_000, 900)
... )
O maior índice de acidentes é de FL, com 6.0 acidentes por mil habitantes.
O menor índice de acidentes é de FZ, com 1.2 acidentes por mil habitantes.
O maior índice de acidentes é de FL, com 6.0 acidentes por mil carros.
O menor índice de acidentes é de FZ, com 1.2 acidentes por mil carros.
O média de veículos por cidade é de 548000.
A média de acidentes total nas cidades com menos de 150 mil habitantes é de 900.0 acidentes.
A média de acidentes total nas cidades com menos de 150 mil carros é de 900.0 acidentes.
"""


Expand Down
13 changes: 6 additions & 7 deletions secao_03_estrutura_de_repeticao/ex_48_inteiro_invertido.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,16 @@
Faça um programa que peça um numero inteiro positivo e em seguida mostre este numero invertido.
Exemplo:
entrada => 12376489
saida => 98467321
entrada => 12376489
saida => 98467321
>>> from secao_03_estrutura_de_repeticao import ex_48_inteiro_invertido
>>> ex_48_inteiro_invertido.inverter_inteiro(0)
>>> inverter_inteiro(0)
0
>>> ex_48_inteiro_invertido.inverter_inteiro(123456789)
>>> inverter_inteiro(123456789)
987654321
>>> ex_48_inteiro_invertido.inverter_inteiro(3454232311243232979128123)
>>> inverter_inteiro(3454232311243232979128123)
3218219792323421132324543
>>> ex_48_inteiro_invertido.inverter_inteiro(987654321)
>>> inverter_inteiro(987654321)
123456789
"""
Expand Down
9 changes: 4 additions & 5 deletions secao_03_estrutura_de_repeticao/ex_49_imprimir_serie.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,16 @@
----------------------------------
>>> from secao_03_estrutura_de_repeticao import ex_49_imprimir_serie
>>> ex_49_imprimir_serie.imprimir_serie(5)
>>> imprimir_serie(5)
S = 1/1 + 2/3 + 3/5 + 4/7 + 5/9
soma = 3.393650793650793
>>> ex_49_imprimir_serie.imprimir_serie(7)
>>> imprimir_serie(7)
S = 1/1 + 2/3 + 3/5 + 4/7 + 5/9 + 6/11 + 7/13
soma = 4.477566877566877
>>> ex_49_imprimir_serie.imprimir_serie(3)
>>> imprimir_serie(3)
S = 1/1 + 2/3 + 3/5
soma = 2.2666666666666666
>>> ex_49_imprimir_serie.imprimir_serie(9)
>>> imprimir_serie(9)
S = 1/1 + 2/3 + 3/5 + 4/7 + 5/9 + 6/11 + 7/13 + 8/15 + 9/17
soma = 5.540311975606093
Expand Down
9 changes: 4 additions & 5 deletions secao_03_estrutura_de_repeticao/ex_50_soma_serie.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,13 @@
----------------------------------
>>> from secao_03_estrutura_de_repeticao import ex_50_soma_serie
>>> ex_50_soma_serie.soma_serie(5)
>>> soma_serie(5)
H = 2.283333333333333
>>> ex_50_soma_serie.soma_serie(7)
>>> soma_serie(7)
H = 2.5928571428571425
>>> ex_50_soma_serie.soma_serie(17)
>>> soma_serie(17)
H = 3.439552522640758
>>> ex_50_soma_serie.soma_serie(2)
>>> soma_serie(2)
H = 1.5
"""
Expand Down
21 changes: 21 additions & 0 deletions secao_04_exercicios_lista/ex_05_vetore_par_e_impar.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
"""
Exercício 05 da seção de listas da Python Brasil:
https://wiki.python.org.br/ExerciciosListas
Faça um Programa que receba um vetor de inteiros. Armazene os números pares no vetor PAR e os
números IMPARES no vetor impar. Imprima os três vetores.
>>> separar_em_vertores_par_e_impar([])
'Vetor original: []. Vetor com elementos pares: []. Vetor com elementos impares: [].'
>>> separar_em_vertores_par_e_impar([1])
'Vetor original: [1]. Vetor com elementos pares: []. Vetor com elementos impares: [1].'
>>> separar_em_vertores_par_e_impar([1, 2])
'Vetor original: [1, 2]. Vetor com elementos pares: [2]. Vetor com elementos impares: [1].'
>>> separar_em_vertores_par_e_impar(list(range(10)))
'Vetor original: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]. Vetor com elementos pares: [0, 2, 4, 6, 8]. Vetor com elementos impares: [1, 3, 5, 7, 9].'
"""


def separar_em_vertores_par_e_impar(inteiros: list) -> str:
"""Escreva aqui em baixo a sua solução"""
21 changes: 21 additions & 0 deletions secao_04_exercicios_lista/ex_09_soma_de_quadrados.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
"""
Exercício 09 da seção de listas da Python Brasil:
https://wiki.python.org.br/ExerciciosListas
Faça um Programa que receba um vestor de números inteiros, calcule e mostre a soma dos quadrados dos elementos do
vetor.
>>> calcular_soma_de_quadrados([])
0
>>> calcular_soma_de_quadrados([1])
1
>>> calcular_soma_de_quadrados([1, 2])
5
>>> calcular_soma_de_quadrados(list(range(10)))
285
"""


def calcular_soma_de_quadrados(inteiros: list) -> int:
"""Escreva aqui em baixo a sua solução"""
22 changes: 22 additions & 0 deletions secao_04_exercicios_lista/ex_10_intercalacao_de_vetores.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
"""
Exercício 10 da seção de listas da Python Brasil:
https://wiki.python.org.br/ExerciciosListas
Faça um Programa receba dois vetores com mesmo tamanho. Gere um terceiro vetor com o dobro elementos, cujos valores
deverão ser compostos pelos elementos intercalados dos dois outros vetores.
>>> intercalar([], [])
[]
>>> intercalar([1],[2])
[1, 2]
>>> intercalar([1, 2], [3, 4])
[1, 3, 2, 4]
>>> intercalar(list(range(10)), list(range(10, 20)))
[0, 10, 1, 11, 2, 12, 3, 13, 4, 14, 5, 15, 6, 16, 7, 17, 8, 18, 9, 19]
"""


def intercalar(lista_1: list, lista_2: list) -> list:
"""Escreva aqui em baixo a sua solução"""

21 changes: 21 additions & 0 deletions secao_04_exercicios_lista/ex_11_intercalacao_de_3_vetores.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
"""
Exercício 11 da seção de listas da Python Brasil:
https://wiki.python.org.br/ExerciciosListas
Altere o programa anterior, intercalando 3 vetores.
>>> intercalar([], [], [])
[]
>>> intercalar([1], [2], [3])
[1, 2, 3]
>>> intercalar([1, 2], [3, 4], [5, 6])
[1, 3, 5, 2, 4, 6]
>>> intercalar(list(range(5)), list(range(5, 10)), list(range(10, 15)))
[0, 5, 10, 1, 6, 11, 2, 7, 12, 3, 8, 13, 4, 9, 14]
"""


def intercalar(lista_1: list, lista_2: list, lista_3: list) -> list:
"""Escreva aqui em baixo a sua solução"""

43 changes: 43 additions & 0 deletions secao_04_exercicios_lista/ex_12_filtro_de_baixinhos.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
"""
Exercício 12 da seção de listas da Python Brasil:
https://wiki.python.org.br/ExerciciosListas
Foram anotados os nomes, as idades e alturas de de vários alunos.
Faça um Programa que determine quantos alunos com mais de 13 anos possuem altura inferior à média de altura desses
alunos.
Mostre a média com uma casa decimal.
>>> calcular_baixinhos_com_mais_de_13_anos(('Renzo', 39, 162))
Média de altura: 162.0 centímetros.
Não há nenhum aluno abaixo da média
>>> calcular_baixinhos_com_mais_de_13_anos(('Renzo', 39, 162), ('Priscila', 33, 158))
Média de altura: 160.0 centímetros.
Existe(m) 1 aluno(s) com altura abaixo da média com mais de 13 anos:
1. Priscila, com 158 centímetros e 33 ano(s) de idade
>>> calcular_baixinhos_com_mais_de_13_anos(('Renzo', 39, 162), ('Priscila', 33, 158), ('Gigante', 20, 210))
Média de altura: 176.7 centímetros.
Existe(m) 2 aluno(s) com altura abaixo da média com mais de 13 anos:
1. Renzo, com 162 centímetros e 39 ano(s) de idade
2. Priscila, com 158 centímetros e 33 ano(s) de idade
>>> calcular_baixinhos_com_mais_de_13_anos(
... ('Renzo', 39, 162), ('Priscila', 33, 158), ('Gigante', 20, 210), ('Criança', 7, 100)
... )
Média de altura: 157.5 centímetros.
Não há nenhum aluno abaixo da média
>>> calcular_baixinhos_com_mais_de_13_anos(
... ('Renzo', 39, 162), ('Priscila', 33, 158), ('Gigante', 20, 210),
... ('Criança', 7, 100), ("Shaquille O'Neal", 25, 216)
... )
Média de altura: 169.2 centímetros.
Existe(m) 2 aluno(s) com altura abaixo da média com mais de 13 anos:
1. Renzo, com 162 centímetros e 39 ano(s) de idade
2. Priscila, com 158 centímetros e 33 ano(s) de idade
"""


def calcular_baixinhos_com_mais_de_13_anos(*alunos):
"""Escreva aqui em baixo a sua solução"""


49 changes: 49 additions & 0 deletions secao_04_exercicios_lista/ex_13_media_de_temperaturas_anual.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
"""
Exercício 13 da seção de listas da Python Brasil:
https://wiki.python.org.br/ExerciciosListas
Faça um programa que receba a temperatura média de cada mês do ano e armazene-as em uma lista.
Após isto, calcule e MOSTRE A MÉDIA ANUAL das temperaturas e MOSTRE TODAS AS TEMPERATURAS ACIMA DA MÉDIA ANUAL,
e em que mês elas ocorreram (mostrar o mês por extenso: 1 – Janeiro, 2 – Fevereiro, . . . ).
-as temperaturas só serão dadas em inteiro
-todos os meses do ano serão passados à funçao, começando de janeiro e terminando em dezembro.
Todos seguidos de sua temperatura mensal
(Funçoês recomendadas para estudo:
- .ljust()
- enumerate()
- sum()
- len()
>>> from secao_04_exercicios_lista import ex_13_media_de_temperaturas_anual
>>> meses_vs_temperaturas = ['25', '33', '19', '16', '15', '20', '25', '29', '25', '27', '33', '30']
>>> ex_13_media_de_temperaturas_anual.input = lambda k: meses_vs_temperaturas.pop()
>>> ex_13_media_de_temperaturas_anual.temperaturas_acima_da_media()
Média anual: 24.75 Graus
1 - Janeiro: 30°
2 - Fevereiro: 33°
3 - Março: 27°
4 - Abril: 25°
5 - Maio: 29°
6 - Junho: 25°
11 - Novembro: 33°
12 - Dezembro: 25°
>>> meses_vs_temperaturas = ['25', '33', '19', '16', '15', '20', '25', '29', '25', '27', '33', '35']
>>> ex_13_media_de_temperaturas_anual.input = lambda k: meses_vs_temperaturas.pop()
>>> ex_13_media_de_temperaturas_anual.temperaturas_acima_da_media()
Média anual: 25.17 Graus
1 - Janeiro: 35°
2 - Fevereiro: 33°
3 - Março: 27°
5 - Maio: 29°
11 - Novembro: 33°
"""


def temperaturas_acima_da_media():
"""Escreva aqui sua solução: """

16 changes: 10 additions & 6 deletions secao_06_exercicios_strings/ex_01_comparador_de_strings.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,6 @@
Compara duas strings
String 1: Brasil Hexa 2006
String 2: Brasil! Hexa 2006!
Tamanho de "Brasil Hexa 2006": 16 caracteres
Tamanho de "Brasil! Hexa 2006!": 18 caracteres
As duas strings são de tamanhos diferentes.
As duas strings possuem conteúdo diferente.
>>> comparar('Brasil Hexa 2006', 'Brasil! Hexa 2006!')
String 1: Brasil Hexa 2006
Expand All @@ -35,6 +29,16 @@
Tamanho de "Hexa 2008": 9 caracteres
As duas strings possuem tamanhos iguais.
As duas strings possuem conteúdo diferentes.
As duas strings são de tamanhos diferentes.
As duas strings possuem conteúdo diferente.
>>> comparar('Igual', 'Igual')
String 1: Igual
String 2: Igual
Tamanho de "Igual": 5 caracteres
Tamanho de "Igual": 5 caracteres
As duas strings possuem mesmo tamanho.
As duas strings possuem conteúdo igual.
"""


Expand Down
23 changes: 23 additions & 0 deletions secao_06_exercicios_strings/ex_02_inversor_maisculo.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
"""
Exercício 02 da seção de listas da Python Brasil:
https://wiki.python.org.br/ExerciciosComStrings
Faça um programa que mostre o nome do usuário de trás para frente utilizando somente
letras maiúsculas. Dica: lembre−se que ao informar o nome o usuário pode digitar
letras maiúsculas ou minúsculas.
>>> inversor('lucca')
'ACCUL'
>>> inversor('douglas')
'SALGUOD'
>>> inversor('TaTIana')
'ANAITAT'
>>> inversor('MARIa')
'AIRAM'
"""


def inversor(nome: str) -> str:
""" Escreva seu código aqui embaixo """
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
"""
Exercício 05 da seção de strings da Python Brasil:
https://wiki.python.org.br/ExerciciosComStrings
Nome na vertical em escada invertida. Altere o programa anterior de modo que a escada seja invertida.
>>> inverter_escada('CAMARGUINHO')
CAMARGUINHO
CAMARGUINH
CAMARGUIN
CAMARGUI
CAMARGU
CAMARG
CAMAR
CAMA
CAM
CA
C
>>> inverter_escada('ENZO_PASCOAL')
ENZO_PASCOAL
ENZO_PASCOA
ENZO_PASCO
ENZO_PASC
ENZO_PAS
ENZO_PA
ENZO_P
ENZO_
ENZO
ENZ
EN
E
"""


def inverter_escada(nome:str):
"""Escreva aqui em baixo a sua solução"""

0 comments on commit 1fa5b99

Please sign in to comment.