From 3395053720aaf808e606a4780069fec1d5a53baf Mon Sep 17 00:00:00 2001 From: renzo Date: Mon, 23 May 2022 15:45:35 -0300 Subject: [PATCH 01/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2006=20da=20secao=20de=20repeticao?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/corretor_de_exercicios.yml | 4 +++ .../ex_06_numeros_1_a_20.py | 35 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 secao_03_estrutura_de_repeticao/ex_06_numeros_1_a_20.py diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index 6af72d596..0315aa03c 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -219,3 +219,7 @@ jobs: if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_05_crescimento_populacional_parametrizavel.py + - name: Correção do Exercício 06 da seção de Estrutura de Repetição + if: always() + run: | + python -m doctest -f secao_03_estrutura_de_repeticao/ex_06_numeros_1_a_20.py diff --git a/secao_03_estrutura_de_repeticao/ex_06_numeros_1_a_20.py b/secao_03_estrutura_de_repeticao/ex_06_numeros_1_a_20.py new file mode 100644 index 000000000..a72fb1d95 --- /dev/null +++ b/secao_03_estrutura_de_repeticao/ex_06_numeros_1_a_20.py @@ -0,0 +1,35 @@ +""" +Exercício 06 da seção de estrutura sequencial da Python Brasil: +https://wiki.python.org.br/EstruturaDeRepeticao + +Faça um programa que imprima na tela os números de 1 a 20, um abaixo do outro. Depois modifique o programa para que ele +mostre os números um ao lado do outro. + + >>> escrever_numeros_de_1_a_20(formato = 'um_abaixo_do_outro') + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + >>> escrever_numeros_de_1_a_20(formato = 'um_ao_lado_do_outro') + 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 +""" + + +def escrever_numeros_de_1_a_20(formato:str) -> str: + """Escreva aqui em baixo a sua solução""" From 079fe5e80229d5ae8e5f4e020845f64d411f5c9b Mon Sep 17 00:00:00 2001 From: renzo Date: Tue, 24 May 2022 11:27:35 -0300 Subject: [PATCH 02/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2007=20da=20secao=20de=20repeticao?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/corretor_de_exercicios.yml | 4 ++++ .../ex_07_maior_de_5_numeros.py | 15 +++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 secao_03_estrutura_de_repeticao/ex_07_maior_de_5_numeros.py diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index 0315aa03c..fa67722eb 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -223,3 +223,7 @@ jobs: if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_06_numeros_1_a_20.py + - name: Correção do Exercício 07 da seção de Estrutura de Repetição + if: always() + run: | + python -m doctest -f secao_03_estrutura_de_repeticao/ex_07_maior_de_5_numeros.py diff --git a/secao_03_estrutura_de_repeticao/ex_07_maior_de_5_numeros.py b/secao_03_estrutura_de_repeticao/ex_07_maior_de_5_numeros.py new file mode 100644 index 000000000..3fc410ab3 --- /dev/null +++ b/secao_03_estrutura_de_repeticao/ex_07_maior_de_5_numeros.py @@ -0,0 +1,15 @@ +""" +Exercício 07 da seção de estrutura sequencial da Python Brasil: +https://wiki.python.org.br/EstruturaDeRepeticao + +Faça um programa que leia 5 números e informe o maior número. + + >>> calcular_maior_numero(1, 2, 3, 4, 5) + 5 + >>> calcular_maior_numero(-1, -30, -20, -15, -2) + -1 +""" + + +def calcular_maior_numero(n1: int, n2: int, n3: int, n4: int, n5: int, ) -> int: + """Escreva aqui em baixo a sua solução""" From f3c453634d90a54655df36b0e4261a7a90be1ff6 Mon Sep 17 00:00:00 2001 From: renzo Date: Tue, 24 May 2022 11:28:20 -0300 Subject: [PATCH 03/50] Typo --- .../ex_05_metros_para_centimetros.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/secao_01_estrutura_sequencial/ex_05_metros_para_centimetros.py b/secao_01_estrutura_sequencial/ex_05_metros_para_centimetros.py index b790f2ecd..315e5392d 100644 --- a/secao_01_estrutura_sequencial/ex_05_metros_para_centimetros.py +++ b/secao_01_estrutura_sequencial/ex_05_metros_para_centimetros.py @@ -6,14 +6,14 @@ >>> from secao_01_estrutura_sequencial import ex_05_metros_para_centimetros >>> ex_05_metros_para_centimetros.input = lambda k: '1' - >>> ex_05_metros_para_centimetros.converter_metros_para_centrimetros() + >>> ex_05_metros_para_centimetros.converter_metros_para_centimetros() Transformando para centímetros dá 100.0 cm >>> ex_05_metros_para_centimetros.input = lambda k: '3.621' - >>> ex_05_metros_para_centimetros.converter_metros_para_centrimetros() + >>> ex_05_metros_para_centimetros.converter_metros_para_centimetros() Transformando para centímetros dá 362.1 cm """ -def converter_metros_para_centrimetros(): +def converter_metros_para_centimetros(): """Escreva aqui em baixo a sua solução""" From 8aeb98a6b7aad7d1243b5909a754e19ebb47f568 Mon Sep 17 00:00:00 2001 From: renzo Date: Tue, 24 May 2022 11:36:12 -0300 Subject: [PATCH 04/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2008=20da=20se=C3=A7=C3=A3o=20de=20estrutura=20de=20r?= =?UTF-8?q?epeti=C3=A7=C3=A3o.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/corretor_de_exercicios.yml | 4 ++++ .../ex_08_soma_e_media_de_5_numeros.py | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 secao_03_estrutura_de_repeticao/ex_08_soma_e_media_de_5_numeros.py diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index fa67722eb..5d87a291d 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -227,3 +227,7 @@ jobs: if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_07_maior_de_5_numeros.py + - name: Correção do Exercício 08 da seção de Estrutura de Repetição + if: always() + run: | + python -m doctest -f secao_03_estrutura_de_repeticao/ex_08_soma_e_media_de_5_numeros.py diff --git a/secao_03_estrutura_de_repeticao/ex_08_soma_e_media_de_5_numeros.py b/secao_03_estrutura_de_repeticao/ex_08_soma_e_media_de_5_numeros.py new file mode 100644 index 000000000..f18abfd0d --- /dev/null +++ b/secao_03_estrutura_de_repeticao/ex_08_soma_e_media_de_5_numeros.py @@ -0,0 +1,18 @@ +""" +Exercício 07 da seção de estrutura sequencial da Python Brasil: +https://wiki.python.org.br/EstruturaDeRepeticao + +Faça um programa que leia 5 números e informe a soma e a média dos números. + +Mostre a média com duas casas decimais. + + >>> calcular_soma_e_media(1, 2, 3, 4, 5) + 'Soma: 15, Média: 3.00' + >>> calcular_soma_e_media(-1, -30, -20, -15, -2) + 'Soma: -68, Média: -13.60' + +""" + + +def calcular_soma_e_media(n1: int, n2: int, n3: int, n4: int, n5: int) -> str: + """Escreva aqui em baixo a sua solução""" From eb7e690b1c7180476b56534c6b7c503ddcbb5a8a Mon Sep 17 00:00:00 2001 From: renzo Date: Wed, 25 May 2022 13:16:17 -0300 Subject: [PATCH 05/50] Corrigido testes do ex 17 s 01 para arrrendondar litros para cima --- .../ex_17_loja_de_tintas_complexa.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/secao_01_estrutura_sequencial/ex_17_loja_de_tintas_complexa.py b/secao_01_estrutura_sequencial/ex_17_loja_de_tintas_complexa.py index 5e451cbf3..09b7e7ffc 100644 --- a/secao_01_estrutura_sequencial/ex_17_loja_de_tintas_complexa.py +++ b/secao_01_estrutura_sequencial/ex_17_loja_de_tintas_complexa.py @@ -14,16 +14,16 @@ >>> from secao_01_estrutura_sequencial import ex_17_loja_de_tintas_complexa >>> ex_17_loja_de_tintas_complexa.input = lambda k: '100' >>> ex_17_loja_de_tintas_complexa.calcular_latas_e_preco_de_tinta() - Você deve comprar 18 litros de tinta. - Você pode comprar 2 lata(s) de 18 litros a um custo de R$ 160. Vão sobrar 17.7 litro(s) de tinta. - Você pode comprar 6 lata(s) de 3.6 litros a um custo de R$ 150. Vão sobrar 3.3 litro(s) de tinta. - Para menor custo, você pode comprar 1 lata(s) de 18 litros e 1 galão(ões) de 3.6 litros a um custo de R$ 105. Vão sobrar 3.3 litro(s) de tinta. + Você deve comprar 19 litros de tinta. + Você pode comprar 2 lata(s) de 18 litros a um custo de R$ 160. Vão sobrar 17.0 litro(s) de tinta. + Você pode comprar 6 lata(s) de 3.6 litros a um custo de R$ 150. Vão sobrar 2.6 litro(s) de tinta. + Para menor custo, você pode comprar 1 lata(s) de 18 litros e 1 galão(ões) de 3.6 litros a um custo de R$ 105. Vão sobrar 2.6 litro(s) de tinta. >>> ex_17_loja_de_tintas_complexa.input = lambda k: '200' >>> ex_17_loja_de_tintas_complexa.calcular_latas_e_preco_de_tinta() Você deve comprar 37 litros de tinta. - Você pode comprar 3 lata(s) de 18 litros a um custo de R$ 240. Vão sobrar 17.3 litro(s) de tinta. - Você pode comprar 11 lata(s) de 3.6 litros a um custo de R$ 275. Vão sobrar 2.9 litro(s) de tinta. - Para menor custo, você pode comprar 2 lata(s) de 18 litros e 1 galão(ões) de 3.6 litros a um custo de R$ 185. Vão sobrar 2.9 litro(s) de tinta. + Você pode comprar 3 lata(s) de 18 litros a um custo de R$ 240. Vão sobrar 17.0 litro(s) de tinta. + Você pode comprar 11 lata(s) de 3.6 litros a um custo de R$ 275. Vão sobrar 2.6 litro(s) de tinta. + Para menor custo, você pode comprar 2 lata(s) de 18 litros e 1 galão(ões) de 3.6 litros a um custo de R$ 185. Vão sobrar 2.6 litro(s) de tinta. """ From d9172018b0af2614d6f5ef10ac159314a1e9cc8a Mon Sep 17 00:00:00 2001 From: renzo Date: Wed, 25 May 2022 13:30:42 -0300 Subject: [PATCH 06/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2009=20da=20se=C3=A7=C3=A3o=20de=20estrutura=20de=20r?= =?UTF-8?q?epeti=C3=A7=C3=A3o.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/corretor_de_exercicios.yml | 4 ++++ .../ex_08_soma_e_media_de_5_numeros.py | 2 +- .../ex_09_numeros_impares_de_1_a_50.py | 14 ++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 secao_03_estrutura_de_repeticao/ex_09_numeros_impares_de_1_a_50.py diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index 5d87a291d..481ceb3b3 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -231,3 +231,7 @@ jobs: if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_08_soma_e_media_de_5_numeros.py + - name: Correção do Exercício 09 da seção de Estrutura de Repetição + if: always() + run: | + python -m doctest -f secao_03_estrutura_de_repeticao/ex_09_numeros_impares_de_1_a_50.py diff --git a/secao_03_estrutura_de_repeticao/ex_08_soma_e_media_de_5_numeros.py b/secao_03_estrutura_de_repeticao/ex_08_soma_e_media_de_5_numeros.py index f18abfd0d..86b169bb6 100644 --- a/secao_03_estrutura_de_repeticao/ex_08_soma_e_media_de_5_numeros.py +++ b/secao_03_estrutura_de_repeticao/ex_08_soma_e_media_de_5_numeros.py @@ -1,5 +1,5 @@ """ -Exercício 07 da seção de estrutura sequencial da Python Brasil: +Exercício 08 da seção de estrutura sequencial da Python Brasil: https://wiki.python.org.br/EstruturaDeRepeticao Faça um programa que leia 5 números e informe a soma e a média dos números. diff --git a/secao_03_estrutura_de_repeticao/ex_09_numeros_impares_de_1_a_50.py b/secao_03_estrutura_de_repeticao/ex_09_numeros_impares_de_1_a_50.py new file mode 100644 index 000000000..bdd9db777 --- /dev/null +++ b/secao_03_estrutura_de_repeticao/ex_09_numeros_impares_de_1_a_50.py @@ -0,0 +1,14 @@ +""" +Exercício 09 da seção de estrutura sequencial da Python Brasil: +https://wiki.python.org.br/EstruturaDeRepeticao + +Faça um programa que imprima na tela apenas os números ímpares entre 1 e 50 + + >>> calcular_numeros_impares_de_1_a_50(1, 2, 3, 4, 5) + ''1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49' + +""" + + +def calcular_numeros_impares_de_1_a_50() -> str: + """Escreva aqui em baixo a sua solução""" From 4cea1971373f82129a17352c73e98286e346470e Mon Sep 17 00:00:00 2001 From: Ana Clara Coelho Date: Wed, 25 May 2022 13:35:27 -0400 Subject: [PATCH 07/50] =?UTF-8?q?Resolu=C3=A7=C3=A3o=20at=C3=A9=20o=20ex?= =?UTF-8?q?=5F04?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- secao_01_estrutura_sequencial/ex_01_alo_mundo.py | 2 +- secao_01_estrutura_sequencial/ex_02_escreva_um_numero.py | 1 + .../ex_03_imprima_soma_de_dois_numeros.py | 3 +++ secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py | 7 ++++++- 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/secao_01_estrutura_sequencial/ex_01_alo_mundo.py b/secao_01_estrutura_sequencial/ex_01_alo_mundo.py index b9b0821a6..4f6c941e7 100644 --- a/secao_01_estrutura_sequencial/ex_01_alo_mundo.py +++ b/secao_01_estrutura_sequencial/ex_01_alo_mundo.py @@ -12,4 +12,4 @@ def ola_mundo(): """Escreva aqui em baixo a sua solução""" - + print('Olá Mundo') diff --git a/secao_01_estrutura_sequencial/ex_02_escreva_um_numero.py b/secao_01_estrutura_sequencial/ex_02_escreva_um_numero.py index 8c3d45dd4..6922aadc4 100644 --- a/secao_01_estrutura_sequencial/ex_02_escreva_um_numero.py +++ b/secao_01_estrutura_sequencial/ex_02_escreva_um_numero.py @@ -13,4 +13,5 @@ def escreva_um_numero(): """Escreva aqui em baixo a sua solução""" + n = int(input('Escreva um número: ')) diff --git a/secao_01_estrutura_sequencial/ex_03_imprima_soma_de_dois_numeros.py b/secao_01_estrutura_sequencial/ex_03_imprima_soma_de_dois_numeros.py index b842fd8b7..f55aa05bc 100644 --- a/secao_01_estrutura_sequencial/ex_03_imprima_soma_de_dois_numeros.py +++ b/secao_01_estrutura_sequencial/ex_03_imprima_soma_de_dois_numeros.py @@ -15,3 +15,6 @@ def imprima_a_soma_de_dois_numeros(): """Escreva aqui em baixo a sua solução""" + n1 = int(input('Esreva um número: ')) + n2 = int(input('Escreva outro número: ')) + print(f'A soma é {a + b}') \ No newline at end of file diff --git a/secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py b/secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py index a1b189cd5..a807795a8 100644 --- a/secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py +++ b/secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py @@ -15,4 +15,9 @@ def calcular_media(): """Escreva aqui em baixo a sua solução""" - + nota1 = int(input('Primeira nota: ')) + nota2 = int(input('Segunda nota: ')) + nota3 = int(input('Terceira nota: ')) + nota4 = int(input('Quarta nota: ')) + media = (n1 + n2 + n3 + n4)/4 + print(f'A média final é {media}') From 83da621ca8f2630e781d74384387ee30f8405242 Mon Sep 17 00:00:00 2001 From: Ana Clara Coelho Date: Mon, 30 May 2022 10:44:24 -0400 Subject: [PATCH 08/50] =?UTF-8?q?"Resolu=C3=A7=C3=A3o=20da=20se=C3=A7?= =?UTF-8?q?=C3=A3o=201=20finalizada"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 3 +++ .../inspectionProfiles/profiles_settings.xml | 6 +++++ .idea/lista-de-exercicios-python-brasil.iml | 12 ++++++++++ .idea/misc.xml | 4 ++++ .idea/modules.xml | 8 +++++++ .idea/vcs.xml | 6 +++++ .../ex_02_escreva_um_numero.py | 2 +- .../ex_03_imprima_soma_de_dois_numeros.py | 2 +- .../ex_04_notas_bimestrais.py | 10 ++++---- .../ex_05_metros_para_centimetros.py | 3 +++ .../ex_06_area_circulo.py | 3 +++ .../ex_07_area_quadrado.py | 4 ++++ .../ex_08_horas_trabalhadas_mes.py | 4 ++++ .../ex_09_fahrenheit_para_celsius.py | 3 +++ .../ex_10_celsius_para_fahrenheit.py | 3 +++ .../ex_11_contas_matematicas.py | 7 +++++- .../ex_12_peso_ideal.py | 3 +++ .../ex_13_peso_ideal_mulher_e_homem.py | 5 ++++ .../ex_14_joao_papo_de_pescador.py | 5 ++++ .../ex_15_clt_onerosa.py | 12 ++++++++++ .../ex_16_loja_de_tintas_simples.py | 4 ++++ .../ex_17_loja_de_tintas_complexa.py | 24 +++++++++++++++++++ .../ex_18_tempo_de_download.py | 4 ++++ 23 files changed, 129 insertions(+), 8 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/lista-de-exercicios-python-brasil.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 000000000..26d33521a --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 000000000..105ce2da2 --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/lista-de-exercicios-python-brasil.iml b/.idea/lista-de-exercicios-python-brasil.iml new file mode 100644 index 000000000..8b8c39547 --- /dev/null +++ b/.idea/lista-de-exercicios-python-brasil.iml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 000000000..d1e22ecb8 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 000000000..82ce86b63 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 000000000..94a25f7f4 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/secao_01_estrutura_sequencial/ex_02_escreva_um_numero.py b/secao_01_estrutura_sequencial/ex_02_escreva_um_numero.py index 6922aadc4..bbf25763e 100644 --- a/secao_01_estrutura_sequencial/ex_02_escreva_um_numero.py +++ b/secao_01_estrutura_sequencial/ex_02_escreva_um_numero.py @@ -14,4 +14,4 @@ def escreva_um_numero(): """Escreva aqui em baixo a sua solução""" n = int(input('Escreva um número: ')) - + print(f'O número informado foi {n}') diff --git a/secao_01_estrutura_sequencial/ex_03_imprima_soma_de_dois_numeros.py b/secao_01_estrutura_sequencial/ex_03_imprima_soma_de_dois_numeros.py index f55aa05bc..7437a9624 100644 --- a/secao_01_estrutura_sequencial/ex_03_imprima_soma_de_dois_numeros.py +++ b/secao_01_estrutura_sequencial/ex_03_imprima_soma_de_dois_numeros.py @@ -17,4 +17,4 @@ def imprima_a_soma_de_dois_numeros(): """Escreva aqui em baixo a sua solução""" n1 = int(input('Esreva um número: ')) n2 = int(input('Escreva outro número: ')) - print(f'A soma é {a + b}') \ No newline at end of file + print(f'A soma dos dois números informados é {a + b}') \ No newline at end of file diff --git a/secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py b/secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py index a807795a8..1131cdd88 100644 --- a/secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py +++ b/secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py @@ -15,9 +15,9 @@ def calcular_media(): """Escreva aqui em baixo a sua solução""" - nota1 = int(input('Primeira nota: ')) - nota2 = int(input('Segunda nota: ')) - nota3 = int(input('Terceira nota: ')) - nota4 = int(input('Quarta nota: ')) + nota1 = float(input('Primeira nota: ')) + nota2 = float(input('Segunda nota: ')) + nota3 = float(input('Terceira nota: ')) + nota4 = float(tinput('Quarta nota: ')) media = (n1 + n2 + n3 + n4)/4 - print(f'A média final é {media}') + print(f'A média anual é {media}') diff --git a/secao_01_estrutura_sequencial/ex_05_metros_para_centimetros.py b/secao_01_estrutura_sequencial/ex_05_metros_para_centimetros.py index 315e5392d..8232254c0 100644 --- a/secao_01_estrutura_sequencial/ex_05_metros_para_centimetros.py +++ b/secao_01_estrutura_sequencial/ex_05_metros_para_centimetros.py @@ -17,3 +17,6 @@ def converter_metros_para_centimetros(): """Escreva aqui em baixo a sua solução""" + m = int(input('Escreva a medida em metros: ')) + cent = m * 100 + print(f 'Transformando para centímetros dá {cent} cm') \ No newline at end of file diff --git a/secao_01_estrutura_sequencial/ex_06_area_circulo.py b/secao_01_estrutura_sequencial/ex_06_area_circulo.py index 840559026..9c3c69919 100644 --- a/secao_01_estrutura_sequencial/ex_06_area_circulo.py +++ b/secao_01_estrutura_sequencial/ex_06_area_circulo.py @@ -18,3 +18,6 @@ def calcular_area_de_circulo(): """Escreva aqui em baixo a sua solução""" + raio = float(input('Escreva o raio do círculo: ')) + area = 3.1415 * r ** 2 + print(f'A área do círculo com esse raio é: {.4farea}') \ No newline at end of file diff --git a/secao_01_estrutura_sequencial/ex_07_area_quadrado.py b/secao_01_estrutura_sequencial/ex_07_area_quadrado.py index 63b12a193..4e4827dc1 100644 --- a/secao_01_estrutura_sequencial/ex_07_area_quadrado.py +++ b/secao_01_estrutura_sequencial/ex_07_area_quadrado.py @@ -20,3 +20,7 @@ def calcular_area_de_quadrado(): """Escreva aqui em baixo a sua solução""" + lado = float(input('Escreva o lado do quadrado: ')) + area = lado ** 2 + print(f'A área do quadrado com esse lado é: {area :.2f}') + print(f'O dobro da aŕea do quadrado é: {area*2 :.2f}') \ No newline at end of file diff --git a/secao_01_estrutura_sequencial/ex_08_horas_trabalhadas_mes.py b/secao_01_estrutura_sequencial/ex_08_horas_trabalhadas_mes.py index 07ded093f..a7a290399 100644 --- a/secao_01_estrutura_sequencial/ex_08_horas_trabalhadas_mes.py +++ b/secao_01_estrutura_sequencial/ex_08_horas_trabalhadas_mes.py @@ -17,3 +17,7 @@ def calcular_salario(): """Escreva aqui em baixo a sua solução""" + valor_hora = float(input('Quanto você ganha por hora? ')) + n_horas = float(input('Qual o número de horas trabalhadas? ')) + salario = round(n_horas * valor_hora,2) + print(f'Seu salário desse mês é {salario :.2f}') \ No newline at end of file diff --git a/secao_01_estrutura_sequencial/ex_09_fahrenheit_para_celsius.py b/secao_01_estrutura_sequencial/ex_09_fahrenheit_para_celsius.py index a13351c7e..82ce8b8c8 100644 --- a/secao_01_estrutura_sequencial/ex_09_fahrenheit_para_celsius.py +++ b/secao_01_estrutura_sequencial/ex_09_fahrenheit_para_celsius.py @@ -19,3 +19,6 @@ def transformar_para_celsius(): """Escreva aqui em baixo a sua solução""" + F= float(input('Qual a temperatura em graus Fahrenheit? ')) + C = round(5 * ((F-32) / 9)) + print(f'Essa temperatura é de {C} Celsius') \ No newline at end of file diff --git a/secao_01_estrutura_sequencial/ex_10_celsius_para_fahrenheit.py b/secao_01_estrutura_sequencial/ex_10_celsius_para_fahrenheit.py index 76d97aa8d..a3749f33e 100644 --- a/secao_01_estrutura_sequencial/ex_10_celsius_para_fahrenheit.py +++ b/secao_01_estrutura_sequencial/ex_10_celsius_para_fahrenheit.py @@ -18,3 +18,6 @@ def transformar_para_fahrenheit(): """Escreva aqui em baixo a sua solução""" + C = float(input("Escreva quantos graus em Celsius: ")) + F = 1.8 * C + 32 + print(f'Essa temperatura é de {F :.0f} Fahrenheit') \ No newline at end of file diff --git a/secao_01_estrutura_sequencial/ex_11_contas_matematicas.py b/secao_01_estrutura_sequencial/ex_11_contas_matematicas.py index 09bdbbffd..43148dce8 100644 --- a/secao_01_estrutura_sequencial/ex_11_contas_matematicas.py +++ b/secao_01_estrutura_sequencial/ex_11_contas_matematicas.py @@ -22,5 +22,10 @@ def calcular_formulas(): """Escreva aqui em baixo a sua solução""" - + n1 = int(input("Escreva um número inteiro: ")) + n2 = int(input("Escreva outro número inteiro: ")) + n3 = float(input("Escreva um número real: ")) + print(f'O produto do dobro do primeiro com metade do segundo é {(n1 * 2 )* (n2/2) :.2f}') + print(f'A soma do triplo do primeiro com o terceiro é {3 * n1 + n3}') + print(f'O terceiro elevado ao cubo é {n3 ** 3 :.2f}') diff --git a/secao_01_estrutura_sequencial/ex_12_peso_ideal.py b/secao_01_estrutura_sequencial/ex_12_peso_ideal.py index 1f8418fab..b67c7058b 100644 --- a/secao_01_estrutura_sequencial/ex_12_peso_ideal.py +++ b/secao_01_estrutura_sequencial/ex_12_peso_ideal.py @@ -19,3 +19,6 @@ def calcular_peso_ideal(): """Escreva aqui em baixo a sua solução""" + altura = float(input('Digite sua altura: ')) + peso_ideal = (72.7*altura) - 58 + print(f'Seu peso ideal é {peso_ideal :.1f} kg') \ No newline at end of file diff --git a/secao_01_estrutura_sequencial/ex_13_peso_ideal_mulher_e_homem.py b/secao_01_estrutura_sequencial/ex_13_peso_ideal_mulher_e_homem.py index fe27d6ff1..ca0a183a3 100644 --- a/secao_01_estrutura_sequencial/ex_13_peso_ideal_mulher_e_homem.py +++ b/secao_01_estrutura_sequencial/ex_13_peso_ideal_mulher_e_homem.py @@ -22,3 +22,8 @@ def calcular_peso_ideal(): """Escreva aqui em baixo a sua solução""" + h = float(input('Digite sua altura: ')) + h_men = (72.7*h) - 58 + h_wm = (62.1*h) - 44.7 + print(f'Seu peso ideal é {h_wm :.1f} kg, se você for mulher') + print(f'Seu peso ideal é {h_men :.1f} kg, se você for homem') \ No newline at end of file diff --git a/secao_01_estrutura_sequencial/ex_14_joao_papo_de_pescador.py b/secao_01_estrutura_sequencial/ex_14_joao_papo_de_pescador.py index 16a2a211f..363c84a4b 100644 --- a/secao_01_estrutura_sequencial/ex_14_joao_papo_de_pescador.py +++ b/secao_01_estrutura_sequencial/ex_14_joao_papo_de_pescador.py @@ -26,3 +26,8 @@ def calcular_peso_excedente_e_multa(): """Escreva aqui em baixo a sua solução""" + peso = float(input('Escreva o peso de peixe: ')) + excesso = peso - 50 + multa = excesso * 4 + print(f'O peso excedente de peixes é de {excesso :.2f} kg') + print(f'Por isso, a multa é de R$ {multa :.2f}') \ No newline at end of file diff --git a/secao_01_estrutura_sequencial/ex_15_clt_onerosa.py b/secao_01_estrutura_sequencial/ex_15_clt_onerosa.py index 901de0409..7ac672e66 100644 --- a/secao_01_estrutura_sequencial/ex_15_clt_onerosa.py +++ b/secao_01_estrutura_sequencial/ex_15_clt_onerosa.py @@ -27,3 +27,15 @@ def calcular_assalto_no_salario(): """Escreva aqui em baixo a sua solução""" + valor_hora = float(input('Quanto você ganha por hora? ')) + n_horas = float(input('Qual o número de horas trabalhadas? ')) + salario = round(n_horas * valor_hora, 2) + ir = 11 * salario / 100 + inss = 8 * salario / 100 + sindicato = 5 * salario / 100 + salario_liquido = salario - (ir + inss + sindicato ) + print(f'+ Salário Bruto : {salario :.2f}') + print(f'- IR (11%) : R$ {ir :.2f}') + print(f'- INSS (8%) : R$ {inss :.2f}') + print(f'- Sindicato ( 5%) : R$ {sindicato :.2f}') + print(f'= Salário Liquido : R$ {salario_liquido :.2f}') \ No newline at end of file diff --git a/secao_01_estrutura_sequencial/ex_16_loja_de_tintas_simples.py b/secao_01_estrutura_sequencial/ex_16_loja_de_tintas_simples.py index 1a2d13529..0ac2d6a2e 100644 --- a/secao_01_estrutura_sequencial/ex_16_loja_de_tintas_simples.py +++ b/secao_01_estrutura_sequencial/ex_16_loja_de_tintas_simples.py @@ -21,3 +21,7 @@ def calcular_latas_e_preco_de_tinta(): """Escreva aqui em baixo a sua solução""" + area = float(input('Área a ser pintada: ')) + qtd_tinta = round((area / 3 )/ 18) # Quantidade de lista em litros + preco_tinta = round(qtd_tinta * 80) + print(f'Você deve comprar {qtd_tinta} lata(s) tinta ao custo de R$ {preco_tinta :.2f}') diff --git a/secao_01_estrutura_sequencial/ex_17_loja_de_tintas_complexa.py b/secao_01_estrutura_sequencial/ex_17_loja_de_tintas_complexa.py index 09b7e7ffc..595097ab0 100644 --- a/secao_01_estrutura_sequencial/ex_17_loja_de_tintas_complexa.py +++ b/secao_01_estrutura_sequencial/ex_17_loja_de_tintas_complexa.py @@ -30,3 +30,27 @@ def calcular_latas_e_preco_de_tinta(): """Escreva aqui em baixo a sua solução""" + import math + area = float(input('Área a ser pintada: ')) + litros = math.ceil((area/6) *1.10) + + # Quantidade de latas de tinta de 18 litros + qtd_latas1 = math.ceil(litros / 18) + preco_tinta1 = math.ceil(qtd_latas1 * 80) + sobra_1 = qtd_latas1 * 18 - litros + + # Quantidade de latas de tinta de 3,6 litros + qtd_latas2 = math.ceil(litros/ 3.6) + preco_tinta2 = math.ceil(qtd_latas2 * 25) + sobra_2 = qtd_latas2 * 3.6 - litros + + # Quantidades misturadas + qtd_latas_18 = round(litros / 18) + qtd_latas_3 = math.ceil((litros - qtd_latas_18 * 18)/ 3.6) + preco = qtd_latas_18 * 80 + qtd_latas_3 * 25 + sobra_mistura =(qtd_latas_18 * 18) + (qtd_latas_3 * 3.6) - litros + + print(f'Você deve comprar {litros} litros de tinta.') + print(f'Você pode comprar {qtd_latas1} lata(s) de 18 litros a um custo de R$ {preco_tinta1}. Vão sobrar {sobra_1:.1f} litro(s) de tinta.') + print(f'Você pode comprar {qtd_latas2} lata(s) de 3.6 litros a um custo de R$ {preco_tinta2}. Vão sobrar {sobra_2 :.1f} litro(s) de tinta.') + print(f'Para menor custo, você pode comprar {qtd_latas_18} lata(s) de 18 litros e {qtd_latas_3} galão(ões) de 3.6 litros a um custo de R$ {preco}. Vão sobrar {sobra_mistura :.1f} litro(s) de tinta.') diff --git a/secao_01_estrutura_sequencial/ex_18_tempo_de_download.py b/secao_01_estrutura_sequencial/ex_18_tempo_de_download.py index b24730f1a..36dbe9afc 100644 --- a/secao_01_estrutura_sequencial/ex_18_tempo_de_download.py +++ b/secao_01_estrutura_sequencial/ex_18_tempo_de_download.py @@ -21,3 +21,7 @@ def calcular_tempo_de_download(): """Escreva aqui em baixo a sua solução""" + tamanho = float(input('Qual o tamanho(MB) do arquivo? ')) + velo = float(input('Qual a velocidade de um link de Internet (em Mbps)? ')) + tempo = round((tamanho / (velo/8) / 60)) + print(f'O tempo aproximado do Download é: {tempo} minuto(s)') \ No newline at end of file From 1542e745655a5de8d32253814b6f0706deff72be Mon Sep 17 00:00:00 2001 From: Ana Clara Coelho Date: Tue, 31 May 2022 10:18:43 -0400 Subject: [PATCH 09/50] =?UTF-8?q?Resolu=C3=A7=C3=A3o=20at=C3=A9=20o=20exer?= =?UTF-8?q?c=C3=ADcio=2016-se=C3=A7=C3=A3o=2002?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_01_imprimir_maior_numero.py | 6 ++++ .../ex_02_positivo_ou_negativo.py | 7 +++++ secao_02_estrutura_de_decisao/ex_03_F_ou_M.py | 7 +++++ .../ex_04_vogal_ou_consoante.py | 5 ++++ .../ex_05_notas_parciais.py | 7 +++++ .../ex_06_maior_numero_de_3_numeros.py | 11 +++++++ ...ex_07_maior_e_menor_numero_de_3_numeros.py | 4 +++ .../ex_08_escolha_de_produto.py | 3 ++ .../ex_09_numeros_decrescentes.py | 3 ++ .../ex_10_cumprimento_em_turno.py | 8 +++++ .../ex_11_salario_tabajara.py | 29 +++++++++++++++++++ .../ex_13_dia_da_semana.py | 16 ++++++++++ .../ex_14_atribuicoes_de_conceitos.py | 22 ++++++++++++++ .../ex_15_triangulo.py | 8 +++++ .../ex_16_equacao_segundo_grau.py | 15 ++++++++++ 15 files changed, 151 insertions(+) diff --git a/secao_02_estrutura_de_decisao/ex_01_imprimir_maior_numero.py b/secao_02_estrutura_de_decisao/ex_01_imprimir_maior_numero.py index e1d40a714..c3722a4ff 100644 --- a/secao_02_estrutura_de_decisao/ex_01_imprimir_maior_numero.py +++ b/secao_02_estrutura_de_decisao/ex_01_imprimir_maior_numero.py @@ -17,3 +17,9 @@ def maior_de_dois_numeros(x, y): """Escreva aqui em baixo a sua solução""" + numero_1 = x + numero_2 = y + if numero_1 > numero_2: + print(numero_1) + else: + print(numero_2) \ No newline at end of file diff --git a/secao_02_estrutura_de_decisao/ex_02_positivo_ou_negativo.py b/secao_02_estrutura_de_decisao/ex_02_positivo_ou_negativo.py index bdb29efcf..935a703b8 100644 --- a/secao_02_estrutura_de_decisao/ex_02_positivo_ou_negativo.py +++ b/secao_02_estrutura_de_decisao/ex_02_positivo_ou_negativo.py @@ -17,3 +17,10 @@ def positivo_ou_negativo(n): """Escreva aqui em baixo a sua solução""" + valor = n + if valor == 0: + print("'não nem positivo nem negativo'") + elif valor < 0: + print("'negativo'") + else: + print("'positivo'") \ No newline at end of file diff --git a/secao_02_estrutura_de_decisao/ex_03_F_ou_M.py b/secao_02_estrutura_de_decisao/ex_03_F_ou_M.py index 466585cfb..d72acd3a2 100644 --- a/secao_02_estrutura_de_decisao/ex_03_F_ou_M.py +++ b/secao_02_estrutura_de_decisao/ex_03_F_ou_M.py @@ -18,3 +18,10 @@ def f_ou_m(sexo): """Escreva aqui em baixo a sua solução""" + sexo = sexo + if sexo == 'M': + print("'M - Masculino'") + elif sexo == 'F': + print("'F - Feminino'") + else: + print("'Sexo inválido'") diff --git a/secao_02_estrutura_de_decisao/ex_04_vogal_ou_consoante.py b/secao_02_estrutura_de_decisao/ex_04_vogal_ou_consoante.py index acdc60f64..3304194f2 100644 --- a/secao_02_estrutura_de_decisao/ex_04_vogal_ou_consoante.py +++ b/secao_02_estrutura_de_decisao/ex_04_vogal_ou_consoante.py @@ -17,3 +17,8 @@ def vogal_ou_consoante(letra): """Escreva aqui em baixo a sua solução""" + letra_ = letra + if letra_ in ('a','e','i','o','u','A','E','I','O','U'): + print("'vogal'") + else: + print("'consoante'") \ No newline at end of file diff --git a/secao_02_estrutura_de_decisao/ex_05_notas_parciais.py b/secao_02_estrutura_de_decisao/ex_05_notas_parciais.py index 322a968e7..b4570a295 100644 --- a/secao_02_estrutura_de_decisao/ex_05_notas_parciais.py +++ b/secao_02_estrutura_de_decisao/ex_05_notas_parciais.py @@ -21,3 +21,10 @@ def notas_parciais(nota_1, nota_2): """Escreva aqui em baixo a sua solução""" + media = (nota_1 + nota_2)/ 2 + if media == 10: + print("'Aprovado com Distinção'") + elif media >= 7: + print("'Aprovado'") + else: + print("'Reprovado'") \ No newline at end of file diff --git a/secao_02_estrutura_de_decisao/ex_06_maior_numero_de_3_numeros.py b/secao_02_estrutura_de_decisao/ex_06_maior_numero_de_3_numeros.py index 84e731053..c406f8b52 100644 --- a/secao_02_estrutura_de_decisao/ex_06_maior_numero_de_3_numeros.py +++ b/secao_02_estrutura_de_decisao/ex_06_maior_numero_de_3_numeros.py @@ -17,3 +17,14 @@ def calcular_maior_de_3_numeros(x, y, z): """Escreva aqui em baixo a sua solução""" + if x > y : + if x > z: + print(x) + else: + print(z) + elif y > x: + if y > z: + print(y) + else: + print(z) + diff --git a/secao_02_estrutura_de_decisao/ex_07_maior_e_menor_numero_de_3_numeros.py b/secao_02_estrutura_de_decisao/ex_07_maior_e_menor_numero_de_3_numeros.py index b60bfe70f..88c546a03 100644 --- a/secao_02_estrutura_de_decisao/ex_07_maior_e_menor_numero_de_3_numeros.py +++ b/secao_02_estrutura_de_decisao/ex_07_maior_e_menor_numero_de_3_numeros.py @@ -21,3 +21,7 @@ def calcular_maior_de_3_numeros(x, y, z): """Escreva aqui em baixo a sua solução""" + lista = [x,y,z] + lista.sort() + print(f'Maior: {lista[-1]}') + print(f'Menor: {lista[0]}') \ No newline at end of file diff --git a/secao_02_estrutura_de_decisao/ex_08_escolha_de_produto.py b/secao_02_estrutura_de_decisao/ex_08_escolha_de_produto.py index 92155628a..33b18d44c 100644 --- a/secao_02_estrutura_de_decisao/ex_08_escolha_de_produto.py +++ b/secao_02_estrutura_de_decisao/ex_08_escolha_de_produto.py @@ -20,3 +20,6 @@ def decidir_melhor_produto(x, y, z): """Escreva aqui em baixo a sua solução""" + precos = [x,y,z] + precos.sort() + print(f'Melhor produto custa R$ {precos[0] :.2f}') \ No newline at end of file diff --git a/secao_02_estrutura_de_decisao/ex_09_numeros_decrescentes.py b/secao_02_estrutura_de_decisao/ex_09_numeros_decrescentes.py index 547338521..2ccf13ceb 100644 --- a/secao_02_estrutura_de_decisao/ex_09_numeros_decrescentes.py +++ b/secao_02_estrutura_de_decisao/ex_09_numeros_decrescentes.py @@ -18,3 +18,6 @@ def ordenar_decrescente(x, y, z): """Escreva aqui em baixo a sua solução""" + numeros = [x,y,z] + numeros.sort() + print(f'{numeros[2]}, {numeros[1]}, {numeros[0]}') diff --git a/secao_02_estrutura_de_decisao/ex_10_cumprimento_em_turno.py b/secao_02_estrutura_de_decisao/ex_10_cumprimento_em_turno.py index d502e8de9..23fd91f32 100644 --- a/secao_02_estrutura_de_decisao/ex_10_cumprimento_em_turno.py +++ b/secao_02_estrutura_de_decisao/ex_10_cumprimento_em_turno.py @@ -25,3 +25,11 @@ def cumprimentar(turno: str): """Escreva aqui em baixo a sua solução""" + if (turno) in ('M', 'm'): + print("'Bom dia!'") + elif (turno) in ('V','v'): + print("'Boa tarde!'") + elif (turno) in ('N','n'): + print("'Boa noite!'") + else: + print("'Valor Inválido!'") diff --git a/secao_02_estrutura_de_decisao/ex_11_salario_tabajara.py b/secao_02_estrutura_de_decisao/ex_11_salario_tabajara.py index f10641d83..22e047c16 100644 --- a/secao_02_estrutura_de_decisao/ex_11_salario_tabajara.py +++ b/secao_02_estrutura_de_decisao/ex_11_salario_tabajara.py @@ -41,3 +41,32 @@ def calcular_aumento(salario: float): """Escreva aqui em baixo a sua solução""" + print(f'Salário atual: R$ {salario :.2f}') + if salario <= 280: + porcent = 20 + valor = (porcent * salario) / 100 + new_sala = salario + valor + print(f'Aumento porcentual: {porcent}%') + print(f'Valor do aumento: R$ {valor :.2f}') + print(f'Novo salário: R$ {new_sala :.2f}') + elif 700 > salario > 280: + porcent = 15 + valor = (porcent * salario) / 100 + new_sala = salario + valor + print(f'Aumento porcentual: {porcent}%') + print(f'Valor do aumento: R$ {valor :.2f}') + print(f'Novo salário: R$ {new_sala :.2f}') + elif 1500 > salario > 700: + porcent = 10 + valor = (porcent * salario) / 100 + new_sala = salario + valor + print(f'Aumento porcentual: {porcent}%') + print(f'Valor do aumento: R$ {valor :.2f}') + print(f'Novo salário: R$ {new_sala :.2f}') + else: + porcent = 5 + valor = (porcent * salario) / 100 + new_sala = salario + valor + print(f'Aumento porcentual: {porcent}%') + print(f'Valor do aumento: R$ {valor :.2f}') + print(f'Novo salário: R$ {new_sala :.2f}') \ No newline at end of file diff --git a/secao_02_estrutura_de_decisao/ex_13_dia_da_semana.py b/secao_02_estrutura_de_decisao/ex_13_dia_da_semana.py index 6edeb2c7d..d8363c107 100644 --- a/secao_02_estrutura_de_decisao/ex_13_dia_da_semana.py +++ b/secao_02_estrutura_de_decisao/ex_13_dia_da_semana.py @@ -29,3 +29,19 @@ def calcular_dia_da_semana(numero: int): """Escreva aqui em baixo a sua solução""" + if numero == 1: + print("'Domingo'") + elif numero == 2: + print("'Segunda'") + elif numero == 3: + print("'Terça'") + elif numero == 4: + print("'Quarta'") + elif numero == 5: + print("'Quinta'") + elif numero == 6: + print("'Sexta'") + elif numero == 7: + print("'Sábado'") + else: + print("'Dia Inválido'") diff --git a/secao_02_estrutura_de_decisao/ex_14_atribuicoes_de_conceitos.py b/secao_02_estrutura_de_decisao/ex_14_atribuicoes_de_conceitos.py index ca01c9495..708eefe33 100644 --- a/secao_02_estrutura_de_decisao/ex_14_atribuicoes_de_conceitos.py +++ b/secao_02_estrutura_de_decisao/ex_14_atribuicoes_de_conceitos.py @@ -46,3 +46,25 @@ def calcular_conceito(nota_1: float, nota_2: float): """Escreva aqui em baixo a sua solução""" + media = (nota_1 + nota_2) / 2 + conceito = " " + if 10 > media > 9: + conceito = 'A' + status = 'APROVADO' + elif 9 > media > 7.5 : + conceito = 'B' + status = 'APROVADO' + elif 7.5 > media > 6: + conceito = 'C' + status = 'APROVADO' + elif 6 > media > 4: + conceito = 'D' + status = 'REPROVADO' + elif 4 > media > 0: + conceito = 'E' + status = 'REPROVADO' + + print(f'Notas: {nota_1 :.1f} e {nota_2 :.1f}.') + print(f'Média: {media :.1f}') + print(f'Conceito: {conceito}') + print(f'Status: {status}') \ No newline at end of file diff --git a/secao_02_estrutura_de_decisao/ex_15_triangulo.py b/secao_02_estrutura_de_decisao/ex_15_triangulo.py index 8b6ea5927..9f6f9989b 100644 --- a/secao_02_estrutura_de_decisao/ex_15_triangulo.py +++ b/secao_02_estrutura_de_decisao/ex_15_triangulo.py @@ -27,3 +27,11 @@ def classificar_trinagulo(lado_a: float, lado_b: float, lado_c: float): """Escreva aqui em baixo a sua solução""" + if lado_a + lado_b < lado_c or lado_a + lado_c < lado_b or lado_b + lado_c < lado_a: + print("'Não é um triângulo'") + elif lado_a != lado_b and lado_b != lado_c: + print("'Triângulo Escaleno'") + elif lado_a == lado_c and lado_c == lado_b: + print("'Triângulo Equilátero'") + else: + print("'Triângulo Isósceles'") diff --git a/secao_02_estrutura_de_decisao/ex_16_equacao_segundo_grau.py b/secao_02_estrutura_de_decisao/ex_16_equacao_segundo_grau.py index f3ae3dcde..6805ad986 100644 --- a/secao_02_estrutura_de_decisao/ex_16_equacao_segundo_grau.py +++ b/secao_02_estrutura_de_decisao/ex_16_equacao_segundo_grau.py @@ -24,5 +24,20 @@ """ + def resolver_equacao_do_segundo_grau(a: float, b: float, c: float): + from math import sqrt """Escreva aqui em baixo a sua solução""" + delta = b**2 - 4 * a * c + x1 = (-b + math.sqrt(delta))/ 2 * a + x2 = (-b - math.sqrt(delta)) / 2 * a + if a == 0: + print("'Valor do coeficiente a deve ser diferente de 0'") + elif delta ==0: + print(f"'Delta é {delta}, raíz única no valor de {x1 :.1f}'") + elif delta < 0: + print(f"'Delta negativo ({delta}), por isso não existem raízes reais'") + else: + print(f"'Delta é {delta}, raízes são {x1 :.1f} e {x2 :.1f}'") + + From e81474a01a629be586d98067ddb1a937fe8a1287 Mon Sep 17 00:00:00 2001 From: renzo Date: Wed, 25 May 2022 14:27:09 -0300 Subject: [PATCH 10/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2009=20da=20se=C3=A7=C3=A3o=20de=20estrutura=20de=20r?= =?UTF-8?q?epeti=C3=A7=C3=A3o.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_09_numeros_impares_de_1_a_50.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/secao_03_estrutura_de_repeticao/ex_09_numeros_impares_de_1_a_50.py b/secao_03_estrutura_de_repeticao/ex_09_numeros_impares_de_1_a_50.py index bdd9db777..b8a480990 100644 --- a/secao_03_estrutura_de_repeticao/ex_09_numeros_impares_de_1_a_50.py +++ b/secao_03_estrutura_de_repeticao/ex_09_numeros_impares_de_1_a_50.py @@ -4,8 +4,8 @@ Faça um programa que imprima na tela apenas os números ímpares entre 1 e 50 - >>> calcular_numeros_impares_de_1_a_50(1, 2, 3, 4, 5) - ''1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49' + >>> calcular_numeros_impares_de_1_a_50() + '1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49' """ From 89efee2f10198b3e5e6ca5caf05040308cfa332d Mon Sep 17 00:00:00 2001 From: renzo Date: Wed, 25 May 2022 14:51:00 -0300 Subject: [PATCH 11/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2010=20da=20se=C3=A7=C3=A3o=20de=20estrutura=20de=20r?= =?UTF-8?q?epeti=C3=A7=C3=A3o.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/corretor_de_exercicios.yml | 4 ++++ .../ex_10_gerar_numeros_de_intervalo.py | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 secao_03_estrutura_de_repeticao/ex_10_gerar_numeros_de_intervalo.py diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index 481ceb3b3..60a9635d9 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -235,3 +235,7 @@ jobs: if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_09_numeros_impares_de_1_a_50.py + - name: Correção do Exercício 10 da seção de Estrutura de Repetição + if: always() + run: | + python -m doctest -f secao_03_estrutura_de_repeticao/ex_10_gerar_numeros_de_intervalo.py diff --git a/secao_03_estrutura_de_repeticao/ex_10_gerar_numeros_de_intervalo.py b/secao_03_estrutura_de_repeticao/ex_10_gerar_numeros_de_intervalo.py new file mode 100644 index 000000000..e2d0470fe --- /dev/null +++ b/secao_03_estrutura_de_repeticao/ex_10_gerar_numeros_de_intervalo.py @@ -0,0 +1,18 @@ +""" +Exercício 10 da seção de estrutura sequencial da Python Brasil: +https://wiki.python.org.br/EstruturaDeRepeticao + +Faça um programa que receba dois números inteiros e gere os números inteiros que estão no intervalo compreendido +Faça um programa que imprima na tela apenas os números ímpares entre 1 e 50por eles. + + >>> calcular_numeros_no_intervalo(1, 10) + '1, 2, 3, 4, 5, 6, 7, 8, 9' + >>> calcular_numeros_no_intervalo(-10, -1) + '-10, -9, -8, -7, -6, -5, -4, -3, -2' + >>> calcular_numeros_no_intervalo(-1, -10) + +""" + + +def calcular_numeros_no_intervalo(inicio:int, fim:int) -> str: + """Escreva aqui em baixo a sua solução""" From 2bc38a7fe4d44b07c25298188508e7ffaa4aa220 Mon Sep 17 00:00:00 2001 From: renzo Date: Wed, 25 May 2022 14:52:19 -0300 Subject: [PATCH 12/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2010=20da=20se=C3=A7=C3=A3o=20de=20estrutura=20de=20r?= =?UTF-8?q?epeti=C3=A7=C3=A3o.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_10_gerar_numeros_de_intervalo.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/secao_03_estrutura_de_repeticao/ex_10_gerar_numeros_de_intervalo.py b/secao_03_estrutura_de_repeticao/ex_10_gerar_numeros_de_intervalo.py index e2d0470fe..ab9d2ff39 100644 --- a/secao_03_estrutura_de_repeticao/ex_10_gerar_numeros_de_intervalo.py +++ b/secao_03_estrutura_de_repeticao/ex_10_gerar_numeros_de_intervalo.py @@ -10,9 +10,10 @@ >>> calcular_numeros_no_intervalo(-10, -1) '-10, -9, -8, -7, -6, -5, -4, -3, -2' >>> calcular_numeros_no_intervalo(-1, -10) + '' """ -def calcular_numeros_no_intervalo(inicio:int, fim:int) -> str: +def calcular_numeros_no_intervalo(inicio: int, fim: int) -> str: """Escreva aqui em baixo a sua solução""" From 5ccb94e5bdd06da77153e1da3b2ce0ab33ee6fcb Mon Sep 17 00:00:00 2001 From: renzo Date: Wed, 25 May 2022 15:05:55 -0300 Subject: [PATCH 13/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2011=20da=20se=C3=A7=C3=A3o=20de=20estrutura=20de=20r?= =?UTF-8?q?epeti=C3=A7=C3=A3o.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/corretor_de_exercicios.yml | 4 ++++ ...x_11_gerar_numeros_de_intervalo_e_somar.py | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 secao_03_estrutura_de_repeticao/ex_11_gerar_numeros_de_intervalo_e_somar.py diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index 60a9635d9..c06d99adf 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -239,3 +239,7 @@ jobs: if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_10_gerar_numeros_de_intervalo.py + - name: Correção do Exercício 11 da seção de Estrutura de Repetição + if: always() + run: | + python -m doctest -f secao_03_estrutura_de_repeticao/ex_11_gerar_numeros_de_intervalo_e_somar.py diff --git a/secao_03_estrutura_de_repeticao/ex_11_gerar_numeros_de_intervalo_e_somar.py b/secao_03_estrutura_de_repeticao/ex_11_gerar_numeros_de_intervalo_e_somar.py new file mode 100644 index 000000000..17e7bfa88 --- /dev/null +++ b/secao_03_estrutura_de_repeticao/ex_11_gerar_numeros_de_intervalo_e_somar.py @@ -0,0 +1,19 @@ +""" +Exercício 10 da seção de estrutura sequencial da Python Brasil: +https://wiki.python.org.br/EstruturaDeRepeticao + +Faça um programa que receba dois números inteiros e gere os números inteiros que estão no intervalo compreendido +Faça um programa que imprima na tela apenas os números ímpares entre 1 e 50por eles. + + >>> calcular_numeros_no_intervalo_e_somar(1, 10) + 'Sequência: 1, 2, 3, 4, 5, 6, 7, 8, 9. Soma: 45' + >>> calcular_numeros_no_intervalo_e_somar(-10, -1) + 'Sequência: -10, -9, -8, -7, -6, -5, -4, -3, -2. Soma: -54' + >>> calcular_numeros_no_intervalo_e_somar(-1, -10) + 'Sequência: vazia. Soma: 0' + +""" + + +def calcular_numeros_no_intervalo_e_somar(inicio: int, fim: int) -> str: + """Escreva aqui em baixo a sua solução""" From 8983e37b70bab29c34c8fddf27d0520a3877a2df Mon Sep 17 00:00:00 2001 From: renzo Date: Wed, 25 May 2022 15:19:33 -0300 Subject: [PATCH 14/50] typpo --- secao_02_estrutura_de_decisao/ex_02_positivo_ou_negativo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secao_02_estrutura_de_decisao/ex_02_positivo_ou_negativo.py b/secao_02_estrutura_de_decisao/ex_02_positivo_ou_negativo.py index 935a703b8..3630e8f41 100644 --- a/secao_02_estrutura_de_decisao/ex_02_positivo_ou_negativo.py +++ b/secao_02_estrutura_de_decisao/ex_02_positivo_ou_negativo.py @@ -9,7 +9,7 @@ >>> positivo_ou_negativo(-1) 'negativo' >>> positivo_ou_negativo(0) - 'não nem positivo nem negativo' + 'não tem positivo nem negativo' >>> positivo_ou_negativo(-100) 'negativo' """ From b3595365a8bc9c194cdd856a5005b063a7915dff Mon Sep 17 00:00:00 2001 From: renzo Date: Wed, 25 May 2022 15:20:38 -0300 Subject: [PATCH 15/50] typo --- .../ex_10_gerar_numeros_de_intervalo.py | 3 +-- .../ex_11_gerar_numeros_de_intervalo_e_somar.py | 5 +++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/secao_03_estrutura_de_repeticao/ex_10_gerar_numeros_de_intervalo.py b/secao_03_estrutura_de_repeticao/ex_10_gerar_numeros_de_intervalo.py index ab9d2ff39..09838c651 100644 --- a/secao_03_estrutura_de_repeticao/ex_10_gerar_numeros_de_intervalo.py +++ b/secao_03_estrutura_de_repeticao/ex_10_gerar_numeros_de_intervalo.py @@ -2,8 +2,7 @@ Exercício 10 da seção de estrutura sequencial da Python Brasil: https://wiki.python.org.br/EstruturaDeRepeticao -Faça um programa que receba dois números inteiros e gere os números inteiros que estão no intervalo compreendido -Faça um programa que imprima na tela apenas os números ímpares entre 1 e 50por eles. +Faça um programa que receba dois números inteiros e gere os números inteiros que estão no intervalo compreendido. >>> calcular_numeros_no_intervalo(1, 10) '1, 2, 3, 4, 5, 6, 7, 8, 9' diff --git a/secao_03_estrutura_de_repeticao/ex_11_gerar_numeros_de_intervalo_e_somar.py b/secao_03_estrutura_de_repeticao/ex_11_gerar_numeros_de_intervalo_e_somar.py index 17e7bfa88..c7de8f9f9 100644 --- a/secao_03_estrutura_de_repeticao/ex_11_gerar_numeros_de_intervalo_e_somar.py +++ b/secao_03_estrutura_de_repeticao/ex_11_gerar_numeros_de_intervalo_e_somar.py @@ -2,8 +2,9 @@ Exercício 10 da seção de estrutura sequencial da Python Brasil: https://wiki.python.org.br/EstruturaDeRepeticao -Faça um programa que receba dois números inteiros e gere os números inteiros que estão no intervalo compreendido -Faça um programa que imprima na tela apenas os números ímpares entre 1 e 50por eles. + +Faça um programa que receba dois números inteiros e gere os números inteiros que estão no intervalo compreendido. +Também mostre a soma dos números da sequência. >>> calcular_numeros_no_intervalo_e_somar(1, 10) 'Sequência: 1, 2, 3, 4, 5, 6, 7, 8, 9. Soma: 45' From edb9761f7295d48d8ab83c1e3e1aab84da8276ca Mon Sep 17 00:00:00 2001 From: renzo Date: Wed, 25 May 2022 15:28:33 -0300 Subject: [PATCH 16/50] Consertando arquivo do CI --- .github/workflows/corretor_de_exercicios.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index c06d99adf..608cd66a5 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -5,7 +5,6 @@ on: push: branches: - main - jobs: build: runs-on: ubuntu-latest From 35604e5cba4735e8504d4cd2df5d94c5b04b0344 Mon Sep 17 00:00:00 2001 From: renzo Date: Wed, 25 May 2022 15:31:15 -0300 Subject: [PATCH 17/50] Consertando arquivo do CI --- .github/workflows/corretor_de_exercicios.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index 608cd66a5..021e06a01 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -5,6 +5,7 @@ on: push: branches: - main + jobs: build: runs-on: ubuntu-latest @@ -238,7 +239,7 @@ jobs: if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_10_gerar_numeros_de_intervalo.py - - name: Correção do Exercício 11 da seção de Estrutura de Repetição + - name: Correção do Exercício 11 da seção de Estrutura de Repetição if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_11_gerar_numeros_de_intervalo_e_somar.py From 917c2787ca4043ed48587b622542ab80a9f7044e Mon Sep 17 00:00:00 2001 From: renzo Date: Wed, 25 May 2022 16:02:53 -0300 Subject: [PATCH 18/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2012=20da=20se=C3=A7=C3=A3o=20de=20repeti=C3=A7=C3=A3?= =?UTF-8?q?o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/corretor_de_exercicios.yml | 4 + ...x_11_gerar_numeros_de_intervalo_e_somar.py | 2 +- .../ex_12_taboada.py | 126 ++++++++++++++++++ 3 files changed, 131 insertions(+), 1 deletion(-) create mode 100644 secao_03_estrutura_de_repeticao/ex_12_taboada.py diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index 021e06a01..e54a0da4b 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -243,3 +243,7 @@ jobs: if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_11_gerar_numeros_de_intervalo_e_somar.py + - name: Correção do Exercício 12 da seção de Estrutura de Repetição + if: always() + run: | + python -m doctest -f secao_03_estrutura_de_repeticao/ex_12_taboada.py diff --git a/secao_03_estrutura_de_repeticao/ex_11_gerar_numeros_de_intervalo_e_somar.py b/secao_03_estrutura_de_repeticao/ex_11_gerar_numeros_de_intervalo_e_somar.py index c7de8f9f9..875432bf8 100644 --- a/secao_03_estrutura_de_repeticao/ex_11_gerar_numeros_de_intervalo_e_somar.py +++ b/secao_03_estrutura_de_repeticao/ex_11_gerar_numeros_de_intervalo_e_somar.py @@ -1,5 +1,5 @@ """ -Exercício 10 da seção de estrutura sequencial da Python Brasil: +Exercício 11 da seção de estrutura sequencial da Python Brasil: https://wiki.python.org.br/EstruturaDeRepeticao diff --git a/secao_03_estrutura_de_repeticao/ex_12_taboada.py b/secao_03_estrutura_de_repeticao/ex_12_taboada.py new file mode 100644 index 000000000..33b0b9d54 --- /dev/null +++ b/secao_03_estrutura_de_repeticao/ex_12_taboada.py @@ -0,0 +1,126 @@ +""" +Exercício 12 da seção de estrutura sequencial da Python Brasil: +https://wiki.python.org.br/EstruturaDeRepeticao + +Desenvolva um gerador de tabuada, capaz de gerar a tabuada de qualquer número inteiro entre 1 a 10. + + >>> gerar_taboada(0) + Somente pode ser gerada taboada de 1 a 10 + >>> gerar_taboada(11) + Somente pode ser gerada taboada de 1 a 10 + >>> gerar_taboada(1) + 1 X 1 = 1 + 1 X 2 = 2 + 1 X 3 = 3 + 1 X 4 = 4 + 1 X 5 = 5 + 1 X 6 = 6 + 1 X 7 = 7 + 1 X 8 = 8 + 1 X 9 = 9 + 1 X 10 = 10 + >>> gerar_taboada(2) + 2 X 1 = 2 + 2 X 2 = 4 + 2 X 3 = 6 + 2 X 4 = 8 + 2 X 5 = 10 + 2 X 6 = 12 + 2 X 7 = 14 + 2 X 8 = 16 + 2 X 9 = 18 + 2 X 10 = 20 + >>> gerar_taboada(3) + 3 X 1 = 3 + 3 X 2 = 6 + 3 X 3 = 9 + 3 X 4 = 12 + 3 X 5 = 15 + 3 X 6 = 18 + 3 X 7 = 21 + 3 X 8 = 24 + 3 X 9 = 27 + 3 X 10 = 30 + >>> gerar_taboada(4) + 4 X 1 = 4 + 4 X 2 = 8 + 4 X 3 = 12 + 4 X 4 = 16 + 4 X 5 = 20 + 4 X 6 = 24 + 4 X 7 = 28 + 4 X 8 = 32 + 4 X 9 = 36 + 4 X 10 = 40 + >>> gerar_taboada(5) + 5 X 1 = 5 + 5 X 2 = 10 + 5 X 3 = 15 + 5 X 4 = 20 + 5 X 5 = 25 + 5 X 6 = 30 + 5 X 7 = 35 + 5 X 8 = 40 + 5 X 9 = 45 + 5 X 10 = 50 + >>> gerar_taboada(6) + 6 X 1 = 6 + 6 X 2 = 12 + 6 X 3 = 18 + 6 X 4 = 24 + 6 X 5 = 30 + 6 X 6 = 36 + 6 X 7 = 42 + 6 X 8 = 48 + 6 X 9 = 54 + 6 X 10 = 60 + >>> gerar_taboada(7) + 7 X 1 = 7 + 7 X 2 = 14 + 7 X 3 = 21 + 7 X 4 = 28 + 7 X 5 = 35 + 7 X 6 = 42 + 7 X 7 = 49 + 7 X 8 = 56 + 7 X 9 = 63 + 7 X 10 = 70 + >>> gerar_taboada(8) + 8 X 1 = 8 + 8 X 2 = 16 + 8 X 3 = 24 + 8 X 4 = 32 + 8 X 5 = 40 + 8 X 6 = 48 + 8 X 7 = 56 + 8 X 8 = 64 + 8 X 9 = 72 + 8 X 10 = 80 + >>> gerar_taboada(9) + 9 X 1 = 9 + 9 X 2 = 18 + 9 X 3 = 27 + 9 X 4 = 36 + 9 X 5 = 45 + 9 X 6 = 54 + 9 X 7 = 63 + 9 X 8 = 72 + 9 X 9 = 81 + 9 X 10 = 90 + >>> gerar_taboada(10) + 10 X 1 = 10 + 10 X 2 = 20 + 10 X 3 = 30 + 10 X 4 = 40 + 10 X 5 = 50 + 10 X 6 = 60 + 10 X 7 = 70 + 10 X 8 = 80 + 10 X 9 = 90 + 10 X 10 = 100 + +""" + + +def gerar_taboada(n: int) -> str: + """Escreva aqui em baixo a sua solução""" From 2b546835e217b65a306444995539607829135674 Mon Sep 17 00:00:00 2001 From: Renzo Date: Thu, 26 May 2022 20:53:20 -0300 Subject: [PATCH 19/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2013=20da=20se=C3=A7=C3=A3o=20de=20estrutura=20de=20r?= =?UTF-8?q?epeti=C3=A7=C3=A3o.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/corretor_de_exercicios.yml | 4 ++++ .../ex_13_potenciacao.py | 20 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 secao_03_estrutura_de_repeticao/ex_13_potenciacao.py diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index e54a0da4b..43d260ae2 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -247,3 +247,7 @@ jobs: if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_12_taboada.py + - name: Correção do Exercício 13 da seção de Estrutura de Repetição + if: always() + run: | + python -m doctest -f secao_03_estrutura_de_repeticao/ex_13_potenciacao.py diff --git a/secao_03_estrutura_de_repeticao/ex_13_potenciacao.py b/secao_03_estrutura_de_repeticao/ex_13_potenciacao.py new file mode 100644 index 000000000..617b82620 --- /dev/null +++ b/secao_03_estrutura_de_repeticao/ex_13_potenciacao.py @@ -0,0 +1,20 @@ +""" +Exercício 13 da seção de estrutura sequencial da Python Brasil: +https://wiki.python.org.br/EstruturaDeRepeticao + +Faça um programa que peça dois números, base e expoente, calcule e mostre o primeiro número elevado ao segundo número. +Não utilize a função de potência da linguagem. + + + >>> calcular_potencia(base=2, expoente=3) + 8 + >>> calcular_potencia(base=3, expoente=2) + 9 + >>> calcular_potencia(base=2, expoente=10) + 1024 + +""" + + +def calcular_potencia(base: int, expoente: int) -> int: + """Escreva aqui em baixo a sua solução""" From fd1e0111b0afbc3970ec600e4f1c07d39e7bfeda Mon Sep 17 00:00:00 2001 From: renzo Date: Fri, 27 May 2022 11:02:05 -0300 Subject: [PATCH 20/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2014=20da=20se=C3=A7=C3=A3o=20de=20repeti=C3=A7=C3=A3?= =?UTF-8?q?o.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit close #31 --- .github/workflows/corretor_de_exercicios.yml | 4 ++++ .../ex_14_qtde_pares_e_impares.py | 20 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 secao_03_estrutura_de_repeticao/ex_14_qtde_pares_e_impares.py diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index 43d260ae2..a149eaadd 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -251,3 +251,7 @@ jobs: if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_13_potenciacao.py + - name: Correção do Exercício 14 da seção de Estrutura de Repetição + if: always() + run: | + python -m doctest -f secao_03_estrutura_de_repeticao/ex_14_qtde_pares_e_impares.py diff --git a/secao_03_estrutura_de_repeticao/ex_14_qtde_pares_e_impares.py b/secao_03_estrutura_de_repeticao/ex_14_qtde_pares_e_impares.py new file mode 100644 index 000000000..2da60f37a --- /dev/null +++ b/secao_03_estrutura_de_repeticao/ex_14_qtde_pares_e_impares.py @@ -0,0 +1,20 @@ +""" +Exercício 14 da seção de estrutura sequencial da Python Brasil: +https://wiki.python.org.br/EstruturaDeRepeticao + +Faça um programa que peça 10 números inteiros, calcule e mostre a quantidade de números pares e a quantidade de números impares. + + >>> calcular_potencia(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) + 'Existem 5 números pares e 5 números impares' + >>> calcular_potencia(12, 2, 3, 4, 5, 6, 7, 8, 9, 10) + 'Existem 6 números pares e 4 números impares' + >>> calcular_potencia(1, 1, 1, 1, 1, 1, 1, 1, 1,1) + 'Existem 0 números pares e 10 números impares' + >>> calcular_potencia(2, 2, 2, 2, 2, 2, 2, 2, 2,2) + 'Existem 10 números pares e 0 números impares' + +""" + + +def calcular_potencia(n1: int, n2: int, n3: int, n4: int, n5: int, n6: int, n7: int, n8: int, n9: int, n10: int) -> str: + """Escreva aqui em baixo a sua solução""" From 4ab1700a0126369229d04cc0e20a69c3d15c8d64 Mon Sep 17 00:00:00 2001 From: renzo Date: Fri, 27 May 2022 11:07:34 -0300 Subject: [PATCH 21/50] =?UTF-8?q?Refatorada=20nome=20de=20fun=C3=A7=C3=A3o?= =?UTF-8?q?=20de=20ex=2014=20secao=2003?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit close #31 --- .../ex_14_qtde_pares_e_impares.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/secao_03_estrutura_de_repeticao/ex_14_qtde_pares_e_impares.py b/secao_03_estrutura_de_repeticao/ex_14_qtde_pares_e_impares.py index 2da60f37a..2881cc0a0 100644 --- a/secao_03_estrutura_de_repeticao/ex_14_qtde_pares_e_impares.py +++ b/secao_03_estrutura_de_repeticao/ex_14_qtde_pares_e_impares.py @@ -4,17 +4,17 @@ Faça um programa que peça 10 números inteiros, calcule e mostre a quantidade de números pares e a quantidade de números impares. - >>> calcular_potencia(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) + >>> calcular_qtde_numeros_pares_e_impares(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) 'Existem 5 números pares e 5 números impares' - >>> calcular_potencia(12, 2, 3, 4, 5, 6, 7, 8, 9, 10) + >>> calcular_qtde_numeros_pares_e_impares(12, 2, 3, 4, 5, 6, 7, 8, 9, 10) 'Existem 6 números pares e 4 números impares' - >>> calcular_potencia(1, 1, 1, 1, 1, 1, 1, 1, 1,1) + >>> calcular_qtde_numeros_pares_e_impares(1, 1, 1, 1, 1, 1, 1, 1, 1,1) 'Existem 0 números pares e 10 números impares' - >>> calcular_potencia(2, 2, 2, 2, 2, 2, 2, 2, 2,2) + >>> calcular_qtde_numeros_pares_e_impares(2, 2, 2, 2, 2, 2, 2, 2, 2,2) 'Existem 10 números pares e 0 números impares' """ -def calcular_potencia(n1: int, n2: int, n3: int, n4: int, n5: int, n6: int, n7: int, n8: int, n9: int, n10: int) -> str: +def calcular_qtde_numeros_pares_e_impares(n1: int, n2: int, n3: int, n4: int, n5: int, n6: int, n7: int, n8: int, n9: int, n10: int) -> str: """Escreva aqui em baixo a sua solução""" From d22a5c9b59b6b99cc64636fd29f2e0139c5ff946 Mon Sep 17 00:00:00 2001 From: renzo Date: Fri, 27 May 2022 11:20:16 -0300 Subject: [PATCH 22/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2015=20da=20se=C3=A7=C3=A3o=20de=20repeti=C3=A7=C3=A3?= =?UTF-8?q?o.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit close #33 --- .github/workflows/corretor_de_exercicios.yml | 4 +++ .../ex_15_fibonnacci_ate_n.py | 27 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 secao_03_estrutura_de_repeticao/ex_15_fibonnacci_ate_n.py diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index a149eaadd..55c381a32 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -255,3 +255,7 @@ jobs: if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_14_qtde_pares_e_impares.py + - name: Correção do Exercício 15 da seção de Estrutura de Repetição + if: always() + run: | + python -m doctest -f secao_03_estrutura_de_repeticao/ex_15_fibonnacci_ate_n.py diff --git a/secao_03_estrutura_de_repeticao/ex_15_fibonnacci_ate_n.py b/secao_03_estrutura_de_repeticao/ex_15_fibonnacci_ate_n.py new file mode 100644 index 000000000..bde925c25 --- /dev/null +++ b/secao_03_estrutura_de_repeticao/ex_15_fibonnacci_ate_n.py @@ -0,0 +1,27 @@ +""" +Exercício 15 da seção de estrutura sequencial da Python Brasil: +https://wiki.python.org.br/EstruturaDeRepeticao + +A série de Fibonacci é formada pela seqüência 1,1,2,3,5,8,13,21,34,55,... Faça um programa capaz de gerar a série até o +n−ésimo termo. + + >>> calcular_serie_de_fibonacci(1) + '1' + >>> calcular_serie_de_fibonacci(2) + '1, 1' + >>> calcular_serie_de_fibonacci(3) + '1, 1, 2' + >>> calcular_serie_de_fibonacci(4) + '1, 1, 2, 3' + >>> calcular_serie_de_fibonacci(5) + '1, 1, 2, 3, 5' + >>> calcular_serie_de_fibonacci(6) + '1, 1, 2, 3, 5, 8' + >>> calcular_serie_de_fibonacci(7) + '1, 1, 2, 3, 5, 8, 13' + +""" + + +def calcular_serie_de_fibonacci(n: int) -> str: + """Escreva aqui em baixo a sua solução""" From ec844cec86fa38b50a1b12b3ff937070fe0012f8 Mon Sep 17 00:00:00 2001 From: renzo Date: Fri, 27 May 2022 11:35:44 -0300 Subject: [PATCH 23/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2016=20da=20se=C3=A7=C3=A3o=20de=20repeti=C3=A7=C3=A3?= =?UTF-8?q?o.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit close #33 --- .github/workflows/corretor_de_exercicios.yml | 4 ++++ .../ex_16_fibonnacci_ate_valor_maior_que_500.py | 14 ++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 secao_03_estrutura_de_repeticao/ex_16_fibonnacci_ate_valor_maior_que_500.py diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index 55c381a32..6ea58cafb 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -259,3 +259,7 @@ jobs: if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_15_fibonnacci_ate_n.py + - name: Correção do Exercício 16 da seção de Estrutura de Repetição + if: always() + run: | + python -m doctest -f secao_03_estrutura_de_repeticao/ex_16_fibonnacci_ate_valor_maior_que_500.py \ No newline at end of file diff --git a/secao_03_estrutura_de_repeticao/ex_16_fibonnacci_ate_valor_maior_que_500.py b/secao_03_estrutura_de_repeticao/ex_16_fibonnacci_ate_valor_maior_que_500.py new file mode 100644 index 000000000..ab7c70038 --- /dev/null +++ b/secao_03_estrutura_de_repeticao/ex_16_fibonnacci_ate_valor_maior_que_500.py @@ -0,0 +1,14 @@ +""" +Exercício 16 da seção de estrutura sequencial da Python Brasil: +https://wiki.python.org.br/EstruturaDeRepeticao + +A série de Fibonacci é formada pela seqüência 0,1,1,2,3,5,8,13,21,34,55,... Faça um programa que gere a série até que o + valor seja maior que 500. + + >>> calcular_serie_de_fibonacci_ate_valor_ser_maior_que_500() + '0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610' +""" + + +def calcular_serie_de_fibonacci_ate_valor_ser_maior_que_500() -> str: + """Escreva aqui em baixo a sua solução""" From 4a88394d487f2996214b97626d86d9a418118e34 Mon Sep 17 00:00:00 2001 From: Renzo Date: Mon, 30 May 2022 18:08:47 -0300 Subject: [PATCH 24/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2017=20da=20se=C3=A7=C3=A3o=20de=20estrutura=20de=20r?= =?UTF-8?q?epeti=C3=A7=C3=A3o.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/corretor_de_exercicios.yml | 6 ++++- .../ex_17_fatorial.py | 25 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 secao_03_estrutura_de_repeticao/ex_17_fatorial.py diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index 6ea58cafb..1dbc31dc7 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -262,4 +262,8 @@ jobs: - name: Correção do Exercício 16 da seção de Estrutura de Repetição if: always() run: | - python -m doctest -f secao_03_estrutura_de_repeticao/ex_16_fibonnacci_ate_valor_maior_que_500.py \ No newline at end of file + python -m doctest -f secao_03_estrutura_de_repeticao/ex_16_fibonnacci_ate_valor_maior_que_500.py + - name: Correção do Exercício 17 da seção de Estrutura de Repetição + if: always() + run: | + python -m doctest -f secao_03_estrutura_de_repeticao/ex_17_fatorial.py diff --git a/secao_03_estrutura_de_repeticao/ex_17_fatorial.py b/secao_03_estrutura_de_repeticao/ex_17_fatorial.py new file mode 100644 index 000000000..0188fcfa3 --- /dev/null +++ b/secao_03_estrutura_de_repeticao/ex_17_fatorial.py @@ -0,0 +1,25 @@ +""" +Exercício 17 da seção de estrutura sequencial da Python Brasil: +https://wiki.python.org.br/EstruturaDeRepeticao + +Faça um programa que calcule o fatorial de um número inteiro fornecido pelo usuário. +Ex.: 5!=5.4.3.2.1=120 + + >>> calcular_fatorial(0) + 1 + >>> calcular_fatorial(1) + 1 + >>> calcular_fatorial(2) + 2 + >>> calcular_fatorial(3) + 6 + >>> calcular_fatorial(4) + 24 + >>> calcular_fatorial(5) + 120 + +""" + + +def calcular_fatorial(n: int) -> int: + """Escreva aqui em baixo a sua solução""" From 7d4cf2eef751e415ec80e4da60df562f0b93fa9e Mon Sep 17 00:00:00 2001 From: Ana Clara Coelho Date: Thu, 2 Jun 2022 10:13:00 -0400 Subject: [PATCH 25/50] =?UTF-8?q?Resolvidos=20exerc=C3=ADcios=20da=20se?= =?UTF-8?q?=C3=A7=C3=A3o=202=20(menos=20o=2012,21,24,27)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_16_equacao_segundo_grau.py | 23 +++--- .../ex_17_ano_bissexto.py | 4 ++ .../ex_18_validador_de_data.py | 13 ++++ .../ex_19_decomposicao_de_numero.py | 72 +++++++++++++++++++ .../ex_20_3_notas_parciais.py | 8 +++ secao_02_estrutura_de_decisao/ex_21_troco.py | 8 +-- .../ex_22_par_ou_impar.py | 4 ++ .../ex_23_inteiro_ou_decimal.py | 6 ++ .../ex_24_operacao.py | 1 + .../ex_25_sherlock.py | 16 +++++ .../ex_26_posto_de_gasolina.py | 19 +++++ .../ex_28_mercado_tabajara.py | 21 ++++++ 12 files changed, 178 insertions(+), 17 deletions(-) diff --git a/secao_02_estrutura_de_decisao/ex_16_equacao_segundo_grau.py b/secao_02_estrutura_de_decisao/ex_16_equacao_segundo_grau.py index 6805ad986..a2da11aa6 100644 --- a/secao_02_estrutura_de_decisao/ex_16_equacao_segundo_grau.py +++ b/secao_02_estrutura_de_decisao/ex_16_equacao_segundo_grau.py @@ -26,18 +26,21 @@ def resolver_equacao_do_segundo_grau(a: float, b: float, c: float): - from math import sqrt + """Escreva aqui em baixo a sua solução""" - delta = b**2 - 4 * a * c - x1 = (-b + math.sqrt(delta))/ 2 * a - x2 = (-b - math.sqrt(delta)) / 2 * a + import math if a == 0: - print("'Valor do coeficiente a deve ser diferente de 0'") - elif delta ==0: - print(f"'Delta é {delta}, raíz única no valor de {x1 :.1f}'") - elif delta < 0: - print(f"'Delta negativo ({delta}), por isso não existem raízes reais'") + return 'Valor do coeficiente a deve ser diferente de 0' else: - print(f"'Delta é {delta}, raízes são {x1 :.1f} e {x2 :.1f}'") + delta = b ** 2 - 4 * a * c + if delta == 0: + x1 = (-b + math.sqrt(delta)) / 2 * a + return f'Delta é {delta}, raíz única no valor de {x1 :.1f}' + elif delta < 0: + return f'Delta negativo ({delta}), por isso não existem raízes reais' + else: + x1 = (-b + math.sqrt(delta)) / 2 * a + x2 = (-b - math.sqrt(delta)) / 2 * a + return f'Delta é {delta}, raízes são {x1 :.1f} e {x2 :.1f}' diff --git a/secao_02_estrutura_de_decisao/ex_17_ano_bissexto.py b/secao_02_estrutura_de_decisao/ex_17_ano_bissexto.py index cf1b9b11b..673b7bfa1 100644 --- a/secao_02_estrutura_de_decisao/ex_17_ano_bissexto.py +++ b/secao_02_estrutura_de_decisao/ex_17_ano_bissexto.py @@ -20,3 +20,7 @@ def eh_ano_bissexto(ano: int): """Escreva aqui em baixo a sua solução""" + if ano % 4 == 0 and ano % 100 != 0 or ano % 400 == 0: + return True + else: + return False diff --git a/secao_02_estrutura_de_decisao/ex_18_validador_de_data.py b/secao_02_estrutura_de_decisao/ex_18_validador_de_data.py index 470fbd63d..8a5dfc8fd 100644 --- a/secao_02_estrutura_de_decisao/ex_18_validador_de_data.py +++ b/secao_02_estrutura_de_decisao/ex_18_validador_de_data.py @@ -24,3 +24,16 @@ def validar_data(data: str): """Escreva aqui em baixo a sua solução""" + if data == '' or len(data) < 3: + return 'Data inválida' + else: + data = data.split('/') + dia = int(data[0]) + mes = int(data[1]) + ano = int(data[2]) + if dia > 28 and mes in (0o2, 2): + return 'Data inválida' + elif mes > 2 or dia > 31: + return 'Data inválida' + else: + return 'Data válida' diff --git a/secao_02_estrutura_de_decisao/ex_19_decomposicao_de_numero.py b/secao_02_estrutura_de_decisao/ex_19_decomposicao_de_numero.py index a66653980..d3d8f707a 100644 --- a/secao_02_estrutura_de_decisao/ex_19_decomposicao_de_numero.py +++ b/secao_02_estrutura_de_decisao/ex_19_decomposicao_de_numero.py @@ -52,3 +52,75 @@ def decompor_numero(numero: int): """Escreva aqui em baixo a sua solução""" + if numero >= 1000: + return 'O número precisa ser menor que 1000' + elif numero < 0: + return 'O número precisa ser positivo' + else: + centenas = int(numero / 100) + dezenas = int((numero - centenas * 100)/10) + unidades = numero - centenas * 100 - dezenas * 10 + if centenas != 0: + if centenas == 1: + if dezenas == 0: + if unidades == 0: + return f'{numero} = {centenas} centena' + elif unidades == 1: + return f'{numero} = {centenas} centena e {unidades} unidade' + else: + return f'{numero} = {centenas} centena e {unidades} unidades' + elif dezenas == 1: + if unidades == 0: + return f'{numero} = {centenas} centena e {dezenas} dezena' + elif unidades == 1: + return f'{numero} = {centenas} centena, {dezenas} dezena e {unidades} unidade' + else: + return f'{numero} = {centenas} centena, {dezenas} dezena e {unidades} unidades' + else: + if unidades != 0: + return f'{numero} = {centenas} centena, {dezenas} dezenas e {unidades} unidades' + else: + return f'{numero} = {centenas} centena e {dezenas} dezenas' + else: + if dezenas == 0: + if unidades == 0: + return f'{numero} = {centenas} centenas' + elif unidades == 1: + return f'{numero} = {centenas} centenas e {unidades} unidade' + else: + return f'{numero} = {centenas} centenas e {unidades} unidades' + elif dezenas == 1: + if unidades == 0: + return f'{numero} = {centenas} centenas e {dezenas} dezena' + elif unidades == 1: + return f'{numero} = {centenas} centenas, {dezenas} dezena e {unidades} unidade' + else: + return f'{numero} = {centenas} centenas e {dezenas} dezena' + else: + if unidades != 0: + return f'{numero} = {centenas} centenas, {dezenas} dezenas e {unidades} unidades' + else: + return f'{numero} = {centenas} centenas e {dezenas} dezenas' + else: + if dezenas == 0: + if unidades == 1: + return f'{numero} = {unidades} unidade' + else: + return f'{numero} = {unidades} unidades' + elif dezenas == 1: + if unidades == 0: + return f'{numero} = {dezenas} dezena' + elif unidades == 1: + return f'{numero} = {dezenas} dezena e {unidades} unidade' + else: + return f'{numero} = {dezenas} dezena e {unidades} unidades' + else: + if unidades == 0: + return f'{numero} = {dezenas} dezenas' + elif unidades == 1: + return f'{numero} = {dezenas} dezenas e {unidades} unidade' + else: + return f'{numero} = {dezenas} dezenas e {unidades} unidades' + + + diff --git a/secao_02_estrutura_de_decisao/ex_20_3_notas_parciais.py b/secao_02_estrutura_de_decisao/ex_20_3_notas_parciais.py index c064ce5fd..4d01f0868 100644 --- a/secao_02_estrutura_de_decisao/ex_20_3_notas_parciais.py +++ b/secao_02_estrutura_de_decisao/ex_20_3_notas_parciais.py @@ -21,3 +21,11 @@ def calcular_status(nota_1, nota_2, nota_3): """Escreva aqui em baixo a sua solução""" + media = (nota_1 + nota_2 + nota_3)/3 + if media == 10: + status = 'Aprovado com Distinção' + elif media >= 7: + status = 'Aprovado' + elif media < 7: + status = 'Reprovado' + return f'{status}' diff --git a/secao_02_estrutura_de_decisao/ex_21_troco.py b/secao_02_estrutura_de_decisao/ex_21_troco.py index f3b73be48..aee9da083 100644 --- a/secao_02_estrutura_de_decisao/ex_21_troco.py +++ b/secao_02_estrutura_de_decisao/ex_21_troco.py @@ -27,10 +27,4 @@ def calcular_troco(valor: int) -> str: """Escreva aqui em baixo a sua solução""" - tipos_de_notas = [1, 5, 10, 50, 100] - pedacos=[] - resto = valor - while resto > 0: - tipo_de_nota = tipos_de_notas.pop() - if len(pedacos)==1: - return pedacos.pop() + diff --git a/secao_02_estrutura_de_decisao/ex_22_par_ou_impar.py b/secao_02_estrutura_de_decisao/ex_22_par_ou_impar.py index a836f1758..ea4fed089 100644 --- a/secao_02_estrutura_de_decisao/ex_22_par_ou_impar.py +++ b/secao_02_estrutura_de_decisao/ex_22_par_ou_impar.py @@ -22,3 +22,7 @@ def decidir_se_eh_par_ou_impar(valor: int) -> str: """Escreva aqui em baixo a sua solução""" + if valor % 2 == 0: + return 'Par' + else: + return 'Impar' diff --git a/secao_02_estrutura_de_decisao/ex_23_inteiro_ou_decimal.py b/secao_02_estrutura_de_decisao/ex_23_inteiro_ou_decimal.py index 9f2d9da04..08221a52d 100644 --- a/secao_02_estrutura_de_decisao/ex_23_inteiro_ou_decimal.py +++ b/secao_02_estrutura_de_decisao/ex_23_inteiro_ou_decimal.py @@ -22,3 +22,9 @@ def decidir_se_eh_inteiro_ou_decimal(valor: str) -> str: """Escreva aqui em baixo a sua solução""" + valor = float(valor) + valor_ = round(valor) + if valor == valor_: + return 'Inteiro' + else: + return 'Decimal' \ No newline at end of file diff --git a/secao_02_estrutura_de_decisao/ex_24_operacao.py b/secao_02_estrutura_de_decisao/ex_24_operacao.py index 73fd5778f..93df3955d 100644 --- a/secao_02_estrutura_de_decisao/ex_24_operacao.py +++ b/secao_02_estrutura_de_decisao/ex_24_operacao.py @@ -29,5 +29,6 @@ """ + def fazer_operacao_e_classificar(n_1: float, n_2: float, operacao: str): """Escreva aqui em baixo a sua solução""" diff --git a/secao_02_estrutura_de_decisao/ex_25_sherlock.py b/secao_02_estrutura_de_decisao/ex_25_sherlock.py index 6fccc6995..75cd64094 100644 --- a/secao_02_estrutura_de_decisao/ex_25_sherlock.py +++ b/secao_02_estrutura_de_decisao/ex_25_sherlock.py @@ -33,3 +33,19 @@ def investivar(telefonou: str, estava_no_local: str, mora_perto: str, devia: str, trabalhou: str, ): """Escreva aqui em baixo a sua solução""" + respostas = [telefonou, estava_no_local, mora_perto, devia, trabalhou] + count = 0 + for v in respostas: + if v == 'Sim': + count += 1 + else: + pass + + if count == 1 or count == 0: + return 'Inocente' + elif count == 2: + return 'Suspeito' + elif count == 3 or count == 4: + return 'Cúmplice' + elif count == 5: + return 'Assassino' \ No newline at end of file diff --git a/secao_02_estrutura_de_decisao/ex_26_posto_de_gasolina.py b/secao_02_estrutura_de_decisao/ex_26_posto_de_gasolina.py index a308c0640..a67b6d2b8 100644 --- a/secao_02_estrutura_de_decisao/ex_26_posto_de_gasolina.py +++ b/secao_02_estrutura_de_decisao/ex_26_posto_de_gasolina.py @@ -35,3 +35,22 @@ def calcular_abastecimento(litros_de_combustivel: float, tipo_de_combustivel: str) -> str: """Escreva aqui em baixo a sua solução""" + if tipo_de_combustivel == 'A': + tipo_de_combustivel = 'álcool' + valor_inicial = 1.90 * litros_de_combustivel + if litros_de_combustivel <= 20: + valor_final = 1.90 * (litros_de_combustivel -(litros_de_combustivel * 3) / 100) + desconto = 3 + else: + valor_final = 1.90 * (litros_de_combustivel - (litros_de_combustivel * 5) / 100) + desconto = 5 + elif tipo_de_combustivel == 'G': + tipo_de_combustivel = 'gasolina' + valor_inicial = 2.50 * litros_de_combustivel + if litros_de_combustivel <= 20: + valor_final = 2.50 * (litros_de_combustivel - (litros_de_combustivel * 4) / 100) + desconto = 4 + else: + valor_final = 2.50 * (litros_de_combustivel - (litros_de_combustivel * 6) / 100) + desconto = 6 + return f'{litros_de_combustivel} litro(s) de {tipo_de_combustivel} custa(m): R$ {valor_inicial :.2f}. Com {desconto}% de desconto, fica R$ {valor_final :.2f}' diff --git a/secao_02_estrutura_de_decisao/ex_28_mercado_tabajara.py b/secao_02_estrutura_de_decisao/ex_28_mercado_tabajara.py index fa2daf360..eb05f89c1 100644 --- a/secao_02_estrutura_de_decisao/ex_28_mercado_tabajara.py +++ b/secao_02_estrutura_de_decisao/ex_28_mercado_tabajara.py @@ -47,3 +47,24 @@ def calcular_preco_da_carne(tipo_de_carne: str, kilos_de_carne: int, forma_de_pagamento: str) -> str: """Escreva aqui em baixo a sua solução""" + if tipo_de_carne == 'Filé Duplo': + if kilos_de_carne <= 5: + preco = 4.90 + else: + preco = 5.80 + elif tipo_de_carne == 'Alcatra': + if kilos_de_carne <= 5: + preco = 5.90 + else: + preco = 6.80 + elif tipo_de_carne == 'Picanha': + if kilos_de_carne <= 5: + preco = 6.90 + else: + preco = 7.80 + valor_final = kilos_de_carne * preco + + if forma_de_pagamento == 'pix' or forma_de_pagamento == 'dinheiro': + return f'{kilos_de_carne} kg de {tipo_de_carne} a R$ {preco :.2f}/kg saem a R$ {valor_final :.2f}. Não há desconto, pagamento feito com {forma_de_pagamento}' + elif forma_de_pagamento == 'cartão tabajara': + return f'{kilos_de_carne} kg de {tipo_de_carne} a R$ {preco :.2f}/kg saem a R$ {valor_final :.2f}. Com desconto de 5% pelo pagamento feito com cartão tabajara, fica R$ {valor_final* 0.95 :.2f}' From 8f484eb0516669ca52c9fb40b41d075738effb05 Mon Sep 17 00:00:00 2001 From: Ana Clara Coelho Date: Thu, 2 Jun 2022 10:33:39 -0400 Subject: [PATCH 26/50] ex 12 --- .../ex_12_clt_assalto.py | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/secao_02_estrutura_de_decisao/ex_12_clt_assalto.py b/secao_02_estrutura_de_decisao/ex_12_clt_assalto.py index 117e67bab..66f52ba1b 100644 --- a/secao_02_estrutura_de_decisao/ex_12_clt_assalto.py +++ b/secao_02_estrutura_de_decisao/ex_12_clt_assalto.py @@ -53,3 +53,32 @@ def calcular_salario_liquido(valor_hora: float, horas_trabalhadas: int): """Escreva aqui em baixo a sua solução""" + salario_bruto = valor_hora * horas_trabalhadas + inss = 10 * salario_bruto / 100 + fgts = 11 * salario_bruto / 100 + sindicato = 3 * salario_bruto / 100 + if salario_bruto <= 900: + valor_ir = 0 + ir = 0 + elif salario_bruto <= 1500: + valor_ir = 5 * salario_bruto / 100 + ir = 5 + elif salario_bruto <= 2500: + valor_ir = 10 * salario_bruto / 100 + ir = 10 + else: + valor_ir = 20 * salario_bruto / 100 + ir = 20 + + total_descontos = ir + inss + sindicato + salario_liquido = salario_bruto + fgts - total_descontos + + carteira = f''' + Salário Bruto: (R$ {valor_hora :.2f} * {horas_trabalhadas}) + (-) IR ({ir}%) + (-) INSS (10%) + (-) Sindicato (3%) + FGTS (11%) + Total de descontos + Salário Liquido ''' + From cded6e3e6da47bf69175d724670d8688fb798dd2 Mon Sep 17 00:00:00 2001 From: Ana Clara Coelho Date: Thu, 2 Jun 2022 10:59:08 -0400 Subject: [PATCH 27/50] ex 02,03,04,05 da secao 01 e ex 02 da secao 02 --- .../ex_03_imprima_soma_de_dois_numeros.py | 2 +- secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py | 4 ++-- .../ex_05_metros_para_centimetros.py | 4 ++-- secao_01_estrutura_sequencial/ex_06_area_circulo.py | 4 ++-- secao_02_estrutura_de_decisao/ex_02_positivo_ou_negativo.py | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/secao_01_estrutura_sequencial/ex_03_imprima_soma_de_dois_numeros.py b/secao_01_estrutura_sequencial/ex_03_imprima_soma_de_dois_numeros.py index 7437a9624..ba0a1b031 100644 --- a/secao_01_estrutura_sequencial/ex_03_imprima_soma_de_dois_numeros.py +++ b/secao_01_estrutura_sequencial/ex_03_imprima_soma_de_dois_numeros.py @@ -17,4 +17,4 @@ def imprima_a_soma_de_dois_numeros(): """Escreva aqui em baixo a sua solução""" n1 = int(input('Esreva um número: ')) n2 = int(input('Escreva outro número: ')) - print(f'A soma dos dois números informados é {a + b}') \ No newline at end of file + print(f'A soma dos dois números informados é {n1 + n2}') \ No newline at end of file diff --git a/secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py b/secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py index 1131cdd88..745c6887b 100644 --- a/secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py +++ b/secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py @@ -18,6 +18,6 @@ def calcular_media(): nota1 = float(input('Primeira nota: ')) nota2 = float(input('Segunda nota: ')) nota3 = float(input('Terceira nota: ')) - nota4 = float(tinput('Quarta nota: ')) - media = (n1 + n2 + n3 + n4)/4 + nota4 = float(input('Quarta nota: ')) + media = (nota1 + nota2 + nota3 + nota4)/4 print(f'A média anual é {media}') diff --git a/secao_01_estrutura_sequencial/ex_05_metros_para_centimetros.py b/secao_01_estrutura_sequencial/ex_05_metros_para_centimetros.py index 8232254c0..5c549910b 100644 --- a/secao_01_estrutura_sequencial/ex_05_metros_para_centimetros.py +++ b/secao_01_estrutura_sequencial/ex_05_metros_para_centimetros.py @@ -17,6 +17,6 @@ def converter_metros_para_centimetros(): """Escreva aqui em baixo a sua solução""" - m = int(input('Escreva a medida em metros: ')) + m = float(input('Escreva a medida em metros: ')) cent = m * 100 - print(f 'Transformando para centímetros dá {cent} cm') \ No newline at end of file + print(f'Transformando para centímetros dá {cent :.1f} cm') \ No newline at end of file diff --git a/secao_01_estrutura_sequencial/ex_06_area_circulo.py b/secao_01_estrutura_sequencial/ex_06_area_circulo.py index 9c3c69919..244c86c22 100644 --- a/secao_01_estrutura_sequencial/ex_06_area_circulo.py +++ b/secao_01_estrutura_sequencial/ex_06_area_circulo.py @@ -19,5 +19,5 @@ def calcular_area_de_circulo(): """Escreva aqui em baixo a sua solução""" raio = float(input('Escreva o raio do círculo: ')) - area = 3.1415 * r ** 2 - print(f'A área do círculo com esse raio é: {.4farea}') \ No newline at end of file + area = 3.1415 * raio ** 2 + print(f'A área do círculo com esse raio é: {area :.4f}') \ No newline at end of file diff --git a/secao_02_estrutura_de_decisao/ex_02_positivo_ou_negativo.py b/secao_02_estrutura_de_decisao/ex_02_positivo_ou_negativo.py index 3630e8f41..8af03532e 100644 --- a/secao_02_estrutura_de_decisao/ex_02_positivo_ou_negativo.py +++ b/secao_02_estrutura_de_decisao/ex_02_positivo_ou_negativo.py @@ -19,7 +19,7 @@ def positivo_ou_negativo(n): """Escreva aqui em baixo a sua solução""" valor = n if valor == 0: - print("'não nem positivo nem negativo'") + print("'não tem positivo nem negativo'") elif valor < 0: print("'negativo'") else: From 42f8c48b954217cead701607180dcbdfb8a9124b Mon Sep 17 00:00:00 2001 From: renzo Date: Tue, 31 May 2022 10:37:12 -0300 Subject: [PATCH 28/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2018=20da=20se=C3=A7=C3=A3o=20de=20repeti=C3=A7=C3=A3?= =?UTF-8?q?o.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/corretor_de_exercicios.yml | 4 ++++ .../ex_18_estatisticas_de_n_numeros.py | 20 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 secao_03_estrutura_de_repeticao/ex_18_estatisticas_de_n_numeros.py diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index 1dbc31dc7..d32fd237f 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -267,3 +267,7 @@ jobs: if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_17_fatorial.py + - name: Correção do Exercício 18 da seção de Estrutura de Repetição + if: always() + run: | + python -m doctest -f secao_03_estrutura_de_repeticao/ex_18_estatisticas_de_n_numeros.py diff --git a/secao_03_estrutura_de_repeticao/ex_18_estatisticas_de_n_numeros.py b/secao_03_estrutura_de_repeticao/ex_18_estatisticas_de_n_numeros.py new file mode 100644 index 000000000..6a2b52932 --- /dev/null +++ b/secao_03_estrutura_de_repeticao/ex_18_estatisticas_de_n_numeros.py @@ -0,0 +1,20 @@ +""" +Exercício 18 da seção de estrutura sequencial da Python Brasil: +https://wiki.python.org.br/EstruturaDeRepeticao + +Faça um programa que, dado um conjunto de N números, determine o menor valor, o maior valor e a soma dos valores. + + >>> calcular_estatisticas() + 'Maior valor: não existe. Menor valor: não existe. Soma: 0' + >>> calcular_estatisticas(1) + 'Maior valor: 1. Menor valor: 1. Soma: 1' + >>> calcular_estatisticas(1, 2) + 'Maior valor: 2. Menor valor: 1. Soma: 3' + >>> calcular_estatisticas(1, 2, -1) + 'Maior valor: 2. Menor valor: -1. Soma: 2' + +""" + + +def calcular_estatisticas(*numeros) -> int: + """Escreva aqui em baixo a sua solução""" From e0326f257fdf46d7134e805fc37012cd586f01b1 Mon Sep 17 00:00:00 2001 From: renzo Date: Wed, 1 Jun 2022 13:40:07 -0300 Subject: [PATCH 29/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2019=20da=20se=C3=A7=C3=A3o=20de=20repeti=C3=A7=C3=A3?= =?UTF-8?q?o.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/corretor_de_exercicios.yml | 4 +++ ...estatisticas_de_n_numeros_com_limitacao.py | 26 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 secao_03_estrutura_de_repeticao/ex_19_estatisticas_de_n_numeros_com_limitacao.py diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index d32fd237f..520f698a9 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -271,3 +271,7 @@ jobs: if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_18_estatisticas_de_n_numeros.py + - name: Correção do Exercício 19 da seção de Estrutura de Repetição + if: always() + run: | + python -m doctest -f secao_03_estrutura_de_repeticao/ex_19_estatisticas_de_n_numeros_com_limitacao.py diff --git a/secao_03_estrutura_de_repeticao/ex_19_estatisticas_de_n_numeros_com_limitacao.py b/secao_03_estrutura_de_repeticao/ex_19_estatisticas_de_n_numeros_com_limitacao.py new file mode 100644 index 000000000..2f7241c50 --- /dev/null +++ b/secao_03_estrutura_de_repeticao/ex_19_estatisticas_de_n_numeros_com_limitacao.py @@ -0,0 +1,26 @@ +""" +Exercício 19 da seção de estrutura sequencial da Python Brasil: +https://wiki.python.org.br/EstruturaDeRepeticao + +Altere o programa anterior para que ele aceite apenas números entre 0 e 1000. + + >>> calcular_estatisticas() + 'Maior valor: não existe. Menor valor: não existe. Soma: 0' + >>> calcular_estatisticas(1) + 'Maior valor: 1. Menor valor: 1. Soma: 1' + >>> calcular_estatisticas(1, 2) + 'Maior valor: 2. Menor valor: 1. Soma: 3' + >>> calcular_estatisticas(1, 2, -1) + 'Somente números de 0 a 1000 são permitidos' + >>> calcular_estatisticas(1, 2, -10) + 'Somente números de 0 a 1000 são permitidos' + >>> calcular_estatisticas(1, 2, 1001) + 'Somente números de 0 a 1000 são permitidos' + >>> calcular_estatisticas(1, 2, 1198) + 'Somente números de 0 a 1000 são permitidos' + +""" + + +def calcular_estatisticas(*numeros) -> int: + """Escreva aqui em baixo a sua solução""" From 6feaf068fea42cdb7bb4838891b38b7960624f75 Mon Sep 17 00:00:00 2001 From: renzo Date: Wed, 1 Jun 2022 13:44:15 -0300 Subject: [PATCH 30/50] =?UTF-8?q?Alterados=20tipo=20de=20retorno=20de=20fu?= =?UTF-8?q?n=C3=A7=C3=B5es=20dos=20exerc=C3=ADcios=2018=20e=2019?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_18_estatisticas_de_n_numeros.py | 2 +- .../ex_19_estatisticas_de_n_numeros_com_limitacao.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/secao_03_estrutura_de_repeticao/ex_18_estatisticas_de_n_numeros.py b/secao_03_estrutura_de_repeticao/ex_18_estatisticas_de_n_numeros.py index 6a2b52932..45f349446 100644 --- a/secao_03_estrutura_de_repeticao/ex_18_estatisticas_de_n_numeros.py +++ b/secao_03_estrutura_de_repeticao/ex_18_estatisticas_de_n_numeros.py @@ -16,5 +16,5 @@ """ -def calcular_estatisticas(*numeros) -> int: +def calcular_estatisticas(*numeros) -> str: """Escreva aqui em baixo a sua solução""" diff --git a/secao_03_estrutura_de_repeticao/ex_19_estatisticas_de_n_numeros_com_limitacao.py b/secao_03_estrutura_de_repeticao/ex_19_estatisticas_de_n_numeros_com_limitacao.py index 2f7241c50..e49bbed45 100644 --- a/secao_03_estrutura_de_repeticao/ex_19_estatisticas_de_n_numeros_com_limitacao.py +++ b/secao_03_estrutura_de_repeticao/ex_19_estatisticas_de_n_numeros_com_limitacao.py @@ -22,5 +22,5 @@ """ -def calcular_estatisticas(*numeros) -> int: +def calcular_estatisticas(*numeros) -> str: """Escreva aqui em baixo a sua solução""" From 350a00b9f1f1208a554a5e1fcd0a73e96b07af9a Mon Sep 17 00:00:00 2001 From: renzo Date: Wed, 1 Jun 2022 13:52:18 -0300 Subject: [PATCH 31/50] =?UTF-8?q?Removida=20solu=C3=A7=C3=A3o=20parcial=20?= =?UTF-8?q?do=20ex=2021=20se=C3=A7=C3=A3o=2002?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_20_fatorial_com_limitacao.py | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 secao_03_estrutura_de_repeticao/ex_20_fatorial_com_limitacao.py diff --git a/secao_03_estrutura_de_repeticao/ex_20_fatorial_com_limitacao.py b/secao_03_estrutura_de_repeticao/ex_20_fatorial_com_limitacao.py new file mode 100644 index 000000000..0188fcfa3 --- /dev/null +++ b/secao_03_estrutura_de_repeticao/ex_20_fatorial_com_limitacao.py @@ -0,0 +1,25 @@ +""" +Exercício 17 da seção de estrutura sequencial da Python Brasil: +https://wiki.python.org.br/EstruturaDeRepeticao + +Faça um programa que calcule o fatorial de um número inteiro fornecido pelo usuário. +Ex.: 5!=5.4.3.2.1=120 + + >>> calcular_fatorial(0) + 1 + >>> calcular_fatorial(1) + 1 + >>> calcular_fatorial(2) + 2 + >>> calcular_fatorial(3) + 6 + >>> calcular_fatorial(4) + 24 + >>> calcular_fatorial(5) + 120 + +""" + + +def calcular_fatorial(n: int) -> int: + """Escreva aqui em baixo a sua solução""" From 913fcdee3d8571df11b96a818bcaf1f9d969dd56 Mon Sep 17 00:00:00 2001 From: renzo Date: Wed, 1 Jun 2022 13:54:31 -0300 Subject: [PATCH 32/50] =?UTF-8?q?Removida=20solu=C3=A7=C3=A3o=20parcial=20?= =?UTF-8?q?do=20ex=2021=20se=C3=A7=C3=A3o=2002?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- secao_02_estrutura_de_decisao/ex_21_troco.py | 1 - 1 file changed, 1 deletion(-) diff --git a/secao_02_estrutura_de_decisao/ex_21_troco.py b/secao_02_estrutura_de_decisao/ex_21_troco.py index aee9da083..de0d2a95e 100644 --- a/secao_02_estrutura_de_decisao/ex_21_troco.py +++ b/secao_02_estrutura_de_decisao/ex_21_troco.py @@ -27,4 +27,3 @@ def calcular_troco(valor: int) -> str: """Escreva aqui em baixo a sua solução""" - From c8f9f6944b9603f1bc6594b7ebac65ddd32dc048 Mon Sep 17 00:00:00 2001 From: renzo Date: Wed, 1 Jun 2022 13:59:08 -0300 Subject: [PATCH 33/50] =?UTF-8?q?Feito=20corre=C3=A7=C3=A3o=20de=20exerc?= =?UTF-8?q?=C3=ADcio=2020=20da=20se=C3=A7=C3=A3o=20de=20estrutura=20de=20r?= =?UTF-8?q?epeti=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_20_fatorial_com_limitacao.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/secao_03_estrutura_de_repeticao/ex_20_fatorial_com_limitacao.py b/secao_03_estrutura_de_repeticao/ex_20_fatorial_com_limitacao.py index 0188fcfa3..71bef5c13 100644 --- a/secao_03_estrutura_de_repeticao/ex_20_fatorial_com_limitacao.py +++ b/secao_03_estrutura_de_repeticao/ex_20_fatorial_com_limitacao.py @@ -5,6 +5,8 @@ Faça um programa que calcule o fatorial de um número inteiro fornecido pelo usuário. Ex.: 5!=5.4.3.2.1=120 +Limite o cáculo para valores inteiros, positivos, maiores ou iguais a 16. + >>> calcular_fatorial(0) 1 >>> calcular_fatorial(1) @@ -17,6 +19,16 @@ 24 >>> calcular_fatorial(5) 120 + >>> calcular_fatorial(16) + 20922789888000 + >>> calcular_fatorial(17) + 'Apenas valores positivos, inteiros e menores que 16 são válidos. Não é possível calcular para 17' + >>> calcular_fatorial(0) + 'Apenas valores positivos, inteiros e menores que 16 são válidos. Não é possível calcular para 0' + >>> calcular_fatorial(-1) + 'Apenas valores positivos, inteiros e menores que 16 são válidos. Não é possível calcular para -1' + >>> calcular_fatorial(3.14) + 'Apenas valores positivos, inteiros e menores que 16 são válidos. Não é possível calcular para 3.14' """ From fe9e4313ce7ee38f9b17fe670389bff639601bf5 Mon Sep 17 00:00:00 2001 From: renzo Date: Wed, 1 Jun 2022 14:35:53 -0300 Subject: [PATCH 34/50] =?UTF-8?q?Corrigido=20enuciado=2020=20para=20n?= =?UTF-8?q?=C3=A3o=20ter=20resultado=20para=20fatorial=20de=200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/corretor_de_exercicios.yml | 4 ++++ .../ex_20_fatorial_com_limitacao.py | 2 -- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index 520f698a9..237a1d4eb 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -275,3 +275,7 @@ jobs: if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_19_estatisticas_de_n_numeros_com_limitacao.py + - name: Correção do Exercício 20 da seção de Estrutura de Repetição + if: always() + run: | + python -m doctest -f secao_03_estrutura_de_repeticao/ex_20_fatorial_com_limitacao.py diff --git a/secao_03_estrutura_de_repeticao/ex_20_fatorial_com_limitacao.py b/secao_03_estrutura_de_repeticao/ex_20_fatorial_com_limitacao.py index 71bef5c13..641981165 100644 --- a/secao_03_estrutura_de_repeticao/ex_20_fatorial_com_limitacao.py +++ b/secao_03_estrutura_de_repeticao/ex_20_fatorial_com_limitacao.py @@ -7,8 +7,6 @@ Limite o cáculo para valores inteiros, positivos, maiores ou iguais a 16. - >>> calcular_fatorial(0) - 1 >>> calcular_fatorial(1) 1 >>> calcular_fatorial(2) From 6860d1f8009873daa8591f48df4c4c5f855dcfe8 Mon Sep 17 00:00:00 2001 From: RafaelLeone Date: Tue, 31 May 2022 11:23:46 -0300 Subject: [PATCH 35/50] corrigido enunciado 02-21 --- secao_02_estrutura_de_decisao/ex_21_troco.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secao_02_estrutura_de_decisao/ex_21_troco.py b/secao_02_estrutura_de_decisao/ex_21_troco.py index de0d2a95e..7edac85b2 100644 --- a/secao_02_estrutura_de_decisao/ex_21_troco.py +++ b/secao_02_estrutura_de_decisao/ex_21_troco.py @@ -4,7 +4,7 @@ Faça um Programa para um caixa eletrônico. O programa deverá perguntar ao usuário a valor do saque e depois informar quantas notas de cada valor serão fornecidas. As notas disponíveis serão as de 1, 5, 10, 50 e 100 reais. O valor mínimo -é de 10 reais e o máximo de 600 reais. O programa não deve se preocupar com a quantidade de notas existentes na máquina. +é de 1 real e o máximo de 600 reais. O programa não deve se preocupar com a quantidade de notas existentes na máquina. Exemplo 1: Para sacar a quantia de 256 reais, o programa fornece duas notas de 100, uma nota de 50, uma nota de 5 e uma nota de 1; Exemplo 2: Para sacar a quantia de 399 reais, o programa fornece três notas de 100, uma nota de 50, quatro notas de 10, From 318adb34a6f6fa80d2755bba91e8b5e869bef3be Mon Sep 17 00:00:00 2001 From: renzo Date: Wed, 1 Jun 2022 14:52:10 -0300 Subject: [PATCH 36/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2021=20da=20se=C3=A7=C3=A3o=20de=20estrutura=20de=20r?= =?UTF-8?q?epeti=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit close #39 --- .github/workflows/corretor_de_exercicios.yml | 4 ++ .../ex_21_numero_primo.py | 41 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 secao_03_estrutura_de_repeticao/ex_21_numero_primo.py diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index 237a1d4eb..76a9811cc 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -279,3 +279,7 @@ jobs: if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_20_fatorial_com_limitacao.py + - name: Correção do Exercício 21 da seção de Estrutura de Repetição + if: always() + run: | + python -m doctest -f secao_03_estrutura_de_repeticao/ex_21_numero_primo.py diff --git a/secao_03_estrutura_de_repeticao/ex_21_numero_primo.py b/secao_03_estrutura_de_repeticao/ex_21_numero_primo.py new file mode 100644 index 000000000..442baff57 --- /dev/null +++ b/secao_03_estrutura_de_repeticao/ex_21_numero_primo.py @@ -0,0 +1,41 @@ +""" +Exercício 21 da seção de estrutura sequencial da Python Brasil: +https://wiki.python.org.br/EstruturaDeRepeticao + +Faça um programa que peça um número inteiro e determine se ele é ou não um número primo. Um número primo é aquele que é +divisível somente por ele mesmo e por 1. + + >>> eh_primo(0) + False + >>> eh_primo(1) + False + >>> eh_primo(2) + True + >>> eh_primo(3) + True + >>> eh_primo(4) + False + >>> eh_primo(5) + True + >>> eh_primo(6) + False + >>> eh_primo(7) + True + >>> eh_primo(8) + False + >>> eh_primo(9) + False + >>> eh_primo(10) + False + >>> eh_primo(11) + True + >>> eh_primo(547) + True + >>> eh_primo(548) + False + +""" + + +def eh_primo(n: int) -> bool: + """Escreva aqui em baixo a sua solução""" From 462e6066fc011bb18ea7b327ac1b475f0968743a Mon Sep 17 00:00:00 2001 From: renzo Date: Wed, 1 Jun 2022 15:16:52 -0300 Subject: [PATCH 37/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2022=20da=20se=C3=A7=C3=A3o=20de=20estrutura=20de=20r?= =?UTF-8?q?epeti=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit close #40 --- .github/workflows/corretor_de_exercicios.yml | 4 ++ .../ex_22_numero_primo_divisores.py | 52 +++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 secao_03_estrutura_de_repeticao/ex_22_numero_primo_divisores.py diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index 76a9811cc..ba85deac3 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -283,3 +283,7 @@ jobs: if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_21_numero_primo.py + - name: Correção do Exercício 22 da seção de Estrutura de Repetição + if: always() + run: | + python -m doctest -f secao_03_estrutura_de_repeticao/ex_22_numero_primo_divisores.py diff --git a/secao_03_estrutura_de_repeticao/ex_22_numero_primo_divisores.py b/secao_03_estrutura_de_repeticao/ex_22_numero_primo_divisores.py new file mode 100644 index 000000000..4fe3d89f1 --- /dev/null +++ b/secao_03_estrutura_de_repeticao/ex_22_numero_primo_divisores.py @@ -0,0 +1,52 @@ +""" +Exercício 22 da seção de estrutura sequencial da Python Brasil: +https://wiki.python.org.br/EstruturaDeRepeticao + +Altere o programa de cálculo dos números primos, informando, caso o número não seja primo, por quais número ele é +divisível. + >>> eh_primo(0) + False + >>> eh_primo(1) + False + >>> eh_primo(2) + True + >>> eh_primo(3) + True + >>> eh_primo(4) + É divisível por 2 + False + >>> eh_primo(5) + True + >>> eh_primo(6) + É divisível por 2 + É divisível por 3 + False + >>> eh_primo(7) + True + >>> eh_primo(8) + É divisível por 2 + É divisível por 4 + False + >>> eh_primo(9) + É divisível por 3 + False + >>> eh_primo(10) + É divisível por 2 + É divisível por 5 + False + >>> eh_primo(11) + True + >>> eh_primo(12) + É divisível por 2 + É divisível por 3 + É divisível por 4 + É divisível por 6 + False + >>> eh_primo(547) + True + +""" + + +def eh_primo(n: int) -> bool: + """Escreva aqui em baixo a sua solução""" From 87c99872e4afe3b18396ae7c2984ffbaea4f0457 Mon Sep 17 00:00:00 2001 From: renzo Date: Wed, 1 Jun 2022 15:38:54 -0300 Subject: [PATCH 38/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2023=20da=20se=C3=A7=C3=A3o=20de=20estrutura=20de=20r?= =?UTF-8?q?epeti=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit close #41 --- .github/workflows/corretor_de_exercicios.yml | 4 ++ .../ex_23_primos_menores_que_um_numero.py | 45 +++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 secao_03_estrutura_de_repeticao/ex_23_primos_menores_que_um_numero.py diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index ba85deac3..e47c6e8e4 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -287,3 +287,7 @@ jobs: if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_22_numero_primo_divisores.py + - name: Correção do Exercício 23 da seção de Estrutura de Repetição + if: always() + run: | + python -m doctest -f secao_03_estrutura_de_repeticao/ex_23_primos_menores_que_um_numero.py diff --git a/secao_03_estrutura_de_repeticao/ex_23_primos_menores_que_um_numero.py b/secao_03_estrutura_de_repeticao/ex_23_primos_menores_que_um_numero.py new file mode 100644 index 000000000..ab579922a --- /dev/null +++ b/secao_03_estrutura_de_repeticao/ex_23_primos_menores_que_um_numero.py @@ -0,0 +1,45 @@ +""" +Exercício 23 da seção de estrutura sequencial da Python Brasil: +https://wiki.python.org.br/EstruturaDeRepeticao + +Faça um programa que mostre todos os primos entre 1 e N sendo N um número inteiro fornecido pelo usuário. +O programa deverá mostrar também o número de divisões que ele executou para encontrar os números primos. +Serão avaliados o funcionamento, o estilo e o número de testes (divisões) executados. + + >>> primos, divisoes = calcular_primos_e_divises(0) + >>> primos + '' + >>> divisoes + 0 + >>> primos, divisoes = calcular_primos_e_divises(1) + >>> primos + '' + >>> divisoes + 0 + >>> primos, divisoes = calcular_primos_e_divises(2) + >>> primos + '2' + >>> divisoes + 0 + >>> primos, divisoes = calcular_primos_e_divises(3) + >>> primos + '2, 3' + >>> divisoes <= 1 + True + >>> primos, divisoes = calcular_primos_e_divises(4) + >>> primos + '2, 3' + >>> divisoes <= 3 + True + >>> primos, divisoes = calcular_primos_e_divises(5) + >>> primos + '2, 3, 5' + >>> divisoes <= 6 + True + +""" +from typing import Tuple + + +def calcular_primos_e_divises(n: int) -> Tuple[str, int]: + """Escreva aqui em baixo a sua solução""" From 67e659815cbd5d9797d285682caa583286e85c40 Mon Sep 17 00:00:00 2001 From: renzo Date: Thu, 2 Jun 2022 09:11:59 -0300 Subject: [PATCH 39/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2024=20da=20se=C3=A7=C3=A3o=20de=20estrutura=20de=20r?= =?UTF-8?q?epeti=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/corretor_de_exercicios.yml | 4 ++++ .../ex_23_primos_menores_que_um_numero.py | 14 ++++++------- .../ex_24_media_artmetica.py | 20 +++++++++++++++++++ 3 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 secao_03_estrutura_de_repeticao/ex_24_media_artmetica.py diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index e47c6e8e4..7bb61a6ca 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -291,3 +291,7 @@ jobs: if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_23_primos_menores_que_um_numero.py + - name: Correção do Exercício 24 da seção de Estrutura de Repetição + if: always() + run: | + python -m doctest -f secao_03_estrutura_de_repeticao/ex_24_media_artmetica.py diff --git a/secao_03_estrutura_de_repeticao/ex_23_primos_menores_que_um_numero.py b/secao_03_estrutura_de_repeticao/ex_23_primos_menores_que_um_numero.py index ab579922a..3a3703c9b 100644 --- a/secao_03_estrutura_de_repeticao/ex_23_primos_menores_que_um_numero.py +++ b/secao_03_estrutura_de_repeticao/ex_23_primos_menores_que_um_numero.py @@ -6,32 +6,32 @@ O programa deverá mostrar também o número de divisões que ele executou para encontrar os números primos. Serão avaliados o funcionamento, o estilo e o número de testes (divisões) executados. - >>> primos, divisoes = calcular_primos_e_divises(0) + >>> primos, divisoes = calcular_primos_e_divisoes(0) >>> primos '' >>> divisoes 0 - >>> primos, divisoes = calcular_primos_e_divises(1) + >>> primos, divisoes = calcular_primos_e_divisoes(1) >>> primos '' >>> divisoes 0 - >>> primos, divisoes = calcular_primos_e_divises(2) + >>> primos, divisoes = calcular_primos_e_divisoes(2) >>> primos '2' >>> divisoes 0 - >>> primos, divisoes = calcular_primos_e_divises(3) + >>> primos, divisoes = calcular_primos_e_divisoes(3) >>> primos '2, 3' >>> divisoes <= 1 True - >>> primos, divisoes = calcular_primos_e_divises(4) + >>> primos, divisoes = calcular_primos_e_divisoes(4) >>> primos '2, 3' >>> divisoes <= 3 True - >>> primos, divisoes = calcular_primos_e_divises(5) + >>> primos, divisoes = calcular_primos_e_divisoes(5) >>> primos '2, 3, 5' >>> divisoes <= 6 @@ -41,5 +41,5 @@ from typing import Tuple -def calcular_primos_e_divises(n: int) -> Tuple[str, int]: +def calcular_primos_e_divisoes(n: int) -> Tuple[str, int]: """Escreva aqui em baixo a sua solução""" diff --git a/secao_03_estrutura_de_repeticao/ex_24_media_artmetica.py b/secao_03_estrutura_de_repeticao/ex_24_media_artmetica.py new file mode 100644 index 000000000..9cf378f6d --- /dev/null +++ b/secao_03_estrutura_de_repeticao/ex_24_media_artmetica.py @@ -0,0 +1,20 @@ +""" +Exercício 24 da seção de estrutura sequencial da Python Brasil: +https://wiki.python.org.br/EstruturaDeRepeticao + +Faça um programa que calcule o mostre a média aritmética de N notas. + + >>> calcular_media() + 'É necessária ao menos uma nota para calcular a média' + >>> calcular_media(1) + 1 + >>> calcular_media(1, 3) + 2 + >>> calcular_media(1, 3, 3) + 2.3333333333333335 + +""" + + +def calcular_media(*notas) -> float: + """Escreva aqui em baixo a sua solução""" From 9b08622176d8abb1c5a720d98a59bd2d70394525 Mon Sep 17 00:00:00 2001 From: renzo Date: Thu, 2 Jun 2022 09:27:01 -0300 Subject: [PATCH 40/50] =?UTF-8?q?Feita=20corre=C3=A7=C3=A3o=20do=20exerc?= =?UTF-8?q?=C3=ADcio=2025=20da=20se=C3=A7=C3=A3o=20de=20estrutura=20de=20r?= =?UTF-8?q?epeti=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/corretor_de_exercicios.yml | 4 +++ .../ex_25_classificador_de_turma.py | 26 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 secao_03_estrutura_de_repeticao/ex_25_classificador_de_turma.py diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index 7bb61a6ca..e92b90056 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -295,3 +295,7 @@ jobs: if: always() run: | python -m doctest -f secao_03_estrutura_de_repeticao/ex_24_media_artmetica.py + - name: Correção do Exercício 25 da seção de Estrutura de Repetição + if: always() + run: | + python -m doctest -f secao_03_estrutura_de_repeticao/ex_25_classificador_de_turma.py diff --git a/secao_03_estrutura_de_repeticao/ex_25_classificador_de_turma.py b/secao_03_estrutura_de_repeticao/ex_25_classificador_de_turma.py new file mode 100644 index 000000000..9d56fcb6e --- /dev/null +++ b/secao_03_estrutura_de_repeticao/ex_25_classificador_de_turma.py @@ -0,0 +1,26 @@ +""" +Exercício 25 da seção de estrutura sequencial da Python Brasil: +https://wiki.python.org.br/EstruturaDeRepeticao + +Faça um programa que peça para n pessoas a sua idade, ao final o programa devera verificar se a média de idade da turma +varia entre 0 e 25,26 e 60 e maior que 60; e então, dizer se a turma é jovem, adulta ou idosa, conforme a média +calculada. + +Mostre a média de idade com uma casa decimal. + + >>> classifcar_turma(20) + 'A turma é jovem, pois a média é de 20.0 anos' + >>> classifcar_turma(20, 30) + 'A turma é jovem, pois a média é de 25.0 anos' + >>> classifcar_turma(20, 30, 95) + 'A turma é adulta, pois a média é de 48.3 anos' + >>> classifcar_turma(20, 30, 95, 95) + 'A turma é idosa, pois a média é de 60.0 anos' + >>> classifcar_turma(20, 30, 95, 95, 95) + 'A turma é idosa, pois a média é de 67.0 anos' + +""" + + +def classifcar_turma(*idades) -> str: + """Escreva aqui em baixo a sua solução""" From 47604505fde1314f62ecba60e6dba1378a2bed47 Mon Sep 17 00:00:00 2001 From: ClaraSantosmf Date: Thu, 2 Jun 2022 09:26:42 -0300 Subject: [PATCH 41/50] =?UTF-8?q?Corre=C3=A7=C3=A3o=20de=20um=20typo=20do?= =?UTF-8?q?=20ex=2002=20da=20se=C3=A7=C3=A3o=2003?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/corretor_de_exercicios.yml | 2 +- .../{ex_12_taboada.py => ex_12_tabuada.py} | 26 +++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) rename secao_03_estrutura_de_repeticao/{ex_12_taboada.py => ex_12_tabuada.py} (84%) diff --git a/.github/workflows/corretor_de_exercicios.yml b/.github/workflows/corretor_de_exercicios.yml index e92b90056..167ed96bb 100644 --- a/.github/workflows/corretor_de_exercicios.yml +++ b/.github/workflows/corretor_de_exercicios.yml @@ -246,7 +246,7 @@ jobs: - name: Correção do Exercício 12 da seção de Estrutura de Repetição if: always() run: | - python -m doctest -f secao_03_estrutura_de_repeticao/ex_12_taboada.py + python -m doctest -f secao_03_estrutura_de_repeticao/ex_12_tabuada.py - name: Correção do Exercício 13 da seção de Estrutura de Repetição if: always() run: | diff --git a/secao_03_estrutura_de_repeticao/ex_12_taboada.py b/secao_03_estrutura_de_repeticao/ex_12_tabuada.py similarity index 84% rename from secao_03_estrutura_de_repeticao/ex_12_taboada.py rename to secao_03_estrutura_de_repeticao/ex_12_tabuada.py index 33b0b9d54..1d0e0775e 100644 --- a/secao_03_estrutura_de_repeticao/ex_12_taboada.py +++ b/secao_03_estrutura_de_repeticao/ex_12_tabuada.py @@ -4,11 +4,11 @@ Desenvolva um gerador de tabuada, capaz de gerar a tabuada de qualquer número inteiro entre 1 a 10. - >>> gerar_taboada(0) + >>> gerar_tabuada(0) Somente pode ser gerada taboada de 1 a 10 - >>> gerar_taboada(11) + >>> gerar_tabuada(11) Somente pode ser gerada taboada de 1 a 10 - >>> gerar_taboada(1) + >>> gerar_tabuada(1) 1 X 1 = 1 1 X 2 = 2 1 X 3 = 3 @@ -19,7 +19,7 @@ 1 X 8 = 8 1 X 9 = 9 1 X 10 = 10 - >>> gerar_taboada(2) + >>> gerar_tabuada(2) 2 X 1 = 2 2 X 2 = 4 2 X 3 = 6 @@ -30,7 +30,7 @@ 2 X 8 = 16 2 X 9 = 18 2 X 10 = 20 - >>> gerar_taboada(3) + >>> gerar_tabuada(3) 3 X 1 = 3 3 X 2 = 6 3 X 3 = 9 @@ -41,7 +41,7 @@ 3 X 8 = 24 3 X 9 = 27 3 X 10 = 30 - >>> gerar_taboada(4) + >>> gerar_tabuada(4) 4 X 1 = 4 4 X 2 = 8 4 X 3 = 12 @@ -52,7 +52,7 @@ 4 X 8 = 32 4 X 9 = 36 4 X 10 = 40 - >>> gerar_taboada(5) + >>> gerar_tabuada(5) 5 X 1 = 5 5 X 2 = 10 5 X 3 = 15 @@ -63,7 +63,7 @@ 5 X 8 = 40 5 X 9 = 45 5 X 10 = 50 - >>> gerar_taboada(6) + >>> gerar_tabuada(6) 6 X 1 = 6 6 X 2 = 12 6 X 3 = 18 @@ -74,7 +74,7 @@ 6 X 8 = 48 6 X 9 = 54 6 X 10 = 60 - >>> gerar_taboada(7) + >>> gerar_tabuada(7) 7 X 1 = 7 7 X 2 = 14 7 X 3 = 21 @@ -85,7 +85,7 @@ 7 X 8 = 56 7 X 9 = 63 7 X 10 = 70 - >>> gerar_taboada(8) + >>> gerar_tabuada(8) 8 X 1 = 8 8 X 2 = 16 8 X 3 = 24 @@ -96,7 +96,7 @@ 8 X 8 = 64 8 X 9 = 72 8 X 10 = 80 - >>> gerar_taboada(9) + >>> gerar_tabuada(9) 9 X 1 = 9 9 X 2 = 18 9 X 3 = 27 @@ -107,7 +107,7 @@ 9 X 8 = 72 9 X 9 = 81 9 X 10 = 90 - >>> gerar_taboada(10) + >>> gerar_tabuada(10) 10 X 1 = 10 10 X 2 = 20 10 X 3 = 30 @@ -122,5 +122,5 @@ """ -def gerar_taboada(n: int) -> str: +def gerar_tabuada(n: int) -> str: """Escreva aqui em baixo a sua solução""" From 1cc4e6b0b7ae75ae61813abcfb8f3abf18876c71 Mon Sep 17 00:00:00 2001 From: renzo Date: Thu, 2 Jun 2022 09:44:50 -0300 Subject: [PATCH 42/50] =?UTF-8?q?corrigdo=20typo=20no=20ex=2012=20se=C3=A7?= =?UTF-8?q?=C3=A3o=2003?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- secao_03_estrutura_de_repeticao/ex_12_tabuada.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/secao_03_estrutura_de_repeticao/ex_12_tabuada.py b/secao_03_estrutura_de_repeticao/ex_12_tabuada.py index 1d0e0775e..f066ddd5a 100644 --- a/secao_03_estrutura_de_repeticao/ex_12_tabuada.py +++ b/secao_03_estrutura_de_repeticao/ex_12_tabuada.py @@ -5,9 +5,9 @@ Desenvolva um gerador de tabuada, capaz de gerar a tabuada de qualquer número inteiro entre 1 a 10. >>> gerar_tabuada(0) - Somente pode ser gerada taboada de 1 a 10 + Somente pode ser gerada tabuada de 1 a 10 >>> gerar_tabuada(11) - Somente pode ser gerada taboada de 1 a 10 + Somente pode ser gerada tabuada de 1 a 10 >>> gerar_tabuada(1) 1 X 1 = 1 1 X 2 = 2 From eb6cdd2f0fe64dbf0c8474d297fbe71d8267f241 Mon Sep 17 00:00:00 2001 From: Ana Clara Coelho Date: Thu, 2 Jun 2022 10:13:00 -0400 Subject: [PATCH 43/50] =?UTF-8?q?Resolvidos=20exerc=C3=ADcios=20da=20se?= =?UTF-8?q?=C3=A7=C3=A3o=202=20(menos=20o=2012,21,24,27)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- secao_02_estrutura_de_decisao/ex_21_troco.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/secao_02_estrutura_de_decisao/ex_21_troco.py b/secao_02_estrutura_de_decisao/ex_21_troco.py index 7edac85b2..aee9da083 100644 --- a/secao_02_estrutura_de_decisao/ex_21_troco.py +++ b/secao_02_estrutura_de_decisao/ex_21_troco.py @@ -4,7 +4,7 @@ Faça um Programa para um caixa eletrônico. O programa deverá perguntar ao usuário a valor do saque e depois informar quantas notas de cada valor serão fornecidas. As notas disponíveis serão as de 1, 5, 10, 50 e 100 reais. O valor mínimo -é de 1 real e o máximo de 600 reais. O programa não deve se preocupar com a quantidade de notas existentes na máquina. +é de 10 reais e o máximo de 600 reais. O programa não deve se preocupar com a quantidade de notas existentes na máquina. Exemplo 1: Para sacar a quantia de 256 reais, o programa fornece duas notas de 100, uma nota de 50, uma nota de 5 e uma nota de 1; Exemplo 2: Para sacar a quantia de 399 reais, o programa fornece três notas de 100, uma nota de 50, quatro notas de 10, @@ -27,3 +27,4 @@ def calcular_troco(valor: int) -> str: """Escreva aqui em baixo a sua solução""" + From 575b7687fafbe17bb556f1c6ed46bea625d2e1cd Mon Sep 17 00:00:00 2001 From: Ana Clara Coelho Date: Thu, 2 Jun 2022 16:00:23 -0400 Subject: [PATCH 44/50] ex 21,24 secao 02 --- secao_02_estrutura_de_decisao/ex_21_troco.py | 28 +++++++++++++++- .../ex_24_operacao.py | 32 +++++++++++++++++-- 2 files changed, 57 insertions(+), 3 deletions(-) diff --git a/secao_02_estrutura_de_decisao/ex_21_troco.py b/secao_02_estrutura_de_decisao/ex_21_troco.py index aee9da083..65e8f80fe 100644 --- a/secao_02_estrutura_de_decisao/ex_21_troco.py +++ b/secao_02_estrutura_de_decisao/ex_21_troco.py @@ -23,8 +23,34 @@ >>> calcular_troco(399) '3 notas de R$ 100, 1 nota de R$ 50, 4 notas de R$ 10, 1 nota de R$ 5 e 4 notas de R$ 1' """ +def quantas_notas( lista_qnt_nota: list,valor:int, nota:int): + if valor >= nota: + lista_qnt_nota.append(f"{valor // nota} nota") + if valor // nota > 1: + lista_qnt_nota[-1] += 's' + lista_qnt_nota[-1] += f' de R$ {nota}' + valor = valor % nota + return valor -def calcular_troco(valor: int) -> str: + +def calcular_troco(valor: int): """Escreva aqui em baixo a sua solução""" + lista_qnt_nota = [] + valor = quantas_notas(lista_qnt_nota, valor, 100) + valor = quantas_notas(lista_qnt_nota, valor, 50) + valor = quantas_notas(lista_qnt_nota, valor, 10) + valor = quantas_notas(lista_qnt_nota, valor, 5) + valor = quantas_notas(lista_qnt_nota, valor, 1) + + if len(lista_qnt_nota) == 5: + print(f"'{lista_qnt_nota[0]}, {lista_qnt_nota[1]}, {lista_qnt_nota[2]}, {lista_qnt_nota[3]} e {lista_qnt_nota[4]}'") + if len(lista_qnt_nota) == 4: + print(f"'{lista_qnt_nota[0]}, {lista_qnt_nota[1]}, {lista_qnt_nota[2]} e {lista_qnt_nota[3]}'") + if len(lista_qnt_nota) == 3: + print(f"'{lista_qnt_nota[0]}, {lista_qnt_nota[1]} e {lista_qnt_nota[2]}'") + if len(lista_qnt_nota) == 2: + print(f"'{lista_qnt_nota[0]} e {lista_qnt_nota[1]}'") + if len(lista_qnt_nota) == 1: + print(f"'{lista_qnt_nota[0]}'") \ No newline at end of file diff --git a/secao_02_estrutura_de_decisao/ex_24_operacao.py b/secao_02_estrutura_de_decisao/ex_24_operacao.py index 93df3955d..7d7951f8e 100644 --- a/secao_02_estrutura_de_decisao/ex_24_operacao.py +++ b/secao_02_estrutura_de_decisao/ex_24_operacao.py @@ -28,7 +28,35 @@ """ - - def fazer_operacao_e_classificar(n_1: float, n_2: float, operacao: str): """Escreva aqui em baixo a sua solução""" + if operacao == '+': + num = n_1 + n_2 + elif operacao == '/': + num = n_1 / n_2 + elif operacao == '-': + num = n_1 - n_2 + elif operacao == '*': + num = n_1 * n_2 + + print(f'Resultado: {num :.2f}') + + if num % 2 == 0: + if num < 0: + print('Número é par, negativo e inteiro.') + if num > 0: + print('Número é par, positivo e inteiro.') + if num == 0: + print('Número é par, neutro e inteiro.') + elif num % 2 != 0 and int(num) == num: + if num <0: + print('Número é impar, positivo e inteiro.') + if num > 0: + print('Número é impar, positivo e inteiro.') + if num == 0: + print('Número é impar, neutro e inteiro.') + else: + if num > 0: + print('Número é positivo e decimal.') + if num < 0: + print('Número é negativo e decimal.') \ No newline at end of file From 3996266c5943819ccf04ecf897721d0758f46f4b Mon Sep 17 00:00:00 2001 From: Ana Clara Coelho Date: Fri, 3 Jun 2022 08:23:38 -0400 Subject: [PATCH 45/50] ex 21,24 da secao 02 --- secao_02_estrutura_de_decisao/ex_21_troco.py | 1 + secao_02_estrutura_de_decisao/ex_24_operacao.py | 1 + 2 files changed, 2 insertions(+) diff --git a/secao_02_estrutura_de_decisao/ex_21_troco.py b/secao_02_estrutura_de_decisao/ex_21_troco.py index 65e8f80fe..428596576 100644 --- a/secao_02_estrutura_de_decisao/ex_21_troco.py +++ b/secao_02_estrutura_de_decisao/ex_21_troco.py @@ -36,6 +36,7 @@ def quantas_notas( lista_qnt_nota: list,valor:int, nota:int): def calcular_troco(valor: int): """Escreva aqui em baixo a sua solução""" + lista_qnt_nota = [] valor = quantas_notas(lista_qnt_nota, valor, 100) valor = quantas_notas(lista_qnt_nota, valor, 50) diff --git a/secao_02_estrutura_de_decisao/ex_24_operacao.py b/secao_02_estrutura_de_decisao/ex_24_operacao.py index 7d7951f8e..74b93fac5 100644 --- a/secao_02_estrutura_de_decisao/ex_24_operacao.py +++ b/secao_02_estrutura_de_decisao/ex_24_operacao.py @@ -30,6 +30,7 @@ def fazer_operacao_e_classificar(n_1: float, n_2: float, operacao: str): """Escreva aqui em baixo a sua solução""" + if operacao == '+': num = n_1 + n_2 elif operacao == '/': From 2d7b45b1d0708ce09ad6a08f4f913c4977f29e0f Mon Sep 17 00:00:00 2001 From: Ana Clara Coelho Date: Fri, 3 Jun 2022 10:36:29 -0400 Subject: [PATCH 46/50] ex 12, 27 secao 02(finalizada secao 02) --- .../ex_12_clt_assalto.py | 32 +++++++++++++------ .../ex_27_hortifruti.py | 24 ++++++++++++++ 2 files changed, 46 insertions(+), 10 deletions(-) diff --git a/secao_02_estrutura_de_decisao/ex_12_clt_assalto.py b/secao_02_estrutura_de_decisao/ex_12_clt_assalto.py index 66f52ba1b..51793c68d 100644 --- a/secao_02_estrutura_de_decisao/ex_12_clt_assalto.py +++ b/secao_02_estrutura_de_decisao/ex_12_clt_assalto.py @@ -70,15 +70,27 @@ def calcular_salario_liquido(valor_hora: float, horas_trabalhadas: int): valor_ir = 20 * salario_bruto / 100 ir = 20 - total_descontos = ir + inss + sindicato - salario_liquido = salario_bruto + fgts - total_descontos + total_descontos = valor_ir + inss + sindicato + salario_liquido = salario_bruto - total_descontos - carteira = f''' - Salário Bruto: (R$ {valor_hora :.2f} * {horas_trabalhadas}) - (-) IR ({ir}%) - (-) INSS (10%) - (-) Sindicato (3%) - FGTS (11%) - Total de descontos - Salário Liquido ''' + # Inteiros transformados em strings para passar rjust() e ljust + valor = f'{valor_hora: .2f}' + horas = f'{horas_trabalhadas}' + linha_sal_bruto = f'Salário Bruto: (R${valor} * {horas})' + linha_ir = f'(-) IR ({ir}%) ' + s_salario_bruto = f'{salario_bruto:.2f}' + s_valor_ir = f'{valor_ir:.2f}' + s_inss = f'{inss:.2f}' + s_sindicato = f'{sindicato:.2f}' + s_fgts = f'{fgts:.2f}' + s_total_descontos = f'{total_descontos:.2f}' + s_salario_liquido = f'{salario_liquido:.2f}' + print( +f'''{linha_sal_bruto.ljust(33)} : R$ {s_salario_bruto.rjust(8)} +{linha_ir.ljust(27)} : R$ {s_valor_ir.rjust(8)} +(-) INSS (10%) : R$ {s_inss.rjust(8)} +(-) Sindicato (3%) : R$ {s_sindicato.rjust(8)} +FGTS (11%) : R$ {s_fgts.rjust(8)} +Total de descontos : R$ {s_total_descontos.rjust(8)} +Salário Liquido : R$ {s_salario_liquido.rjust(8)}''') diff --git a/secao_02_estrutura_de_decisao/ex_27_hortifruti.py b/secao_02_estrutura_de_decisao/ex_27_hortifruti.py index 2e468a508..843c68817 100644 --- a/secao_02_estrutura_de_decisao/ex_27_hortifruti.py +++ b/secao_02_estrutura_de_decisao/ex_27_hortifruti.py @@ -59,3 +59,27 @@ def calcular_preco_da_compra(kilos_de_morango: int, kilos_de_maca: int): """Escreva aqui em baixo a sua solução""" + kilos_total = kilos_de_morango + kilos_de_maca + valor_total = 0 + if kilos_de_morango <= 5 and kilos_de_morango != 0: + valor_morangos = kilos_de_morango * 2.50 + valor_total += valor_morangos + print(f'(+) Morango - valor: R$ {valor_morangos:4.2f} - quantidade: {kilos_de_morango :.0f} kg - preço: R$ 2.50/kg') + elif kilos_de_morango > 5: + valor_morangos = kilos_de_morango * 2.20 + valor_total += valor_morangos + print(f'(+) Morango - valor: R$ {valor_morangos:4.2f} - quantidade: {kilos_de_morango} kg - preço: R$ 2.20/kg') + if kilos_de_maca <= 5 and kilos_de_maca != 0: + valor_maca = kilos_de_maca * 1.80 + valor_total += valor_maca + print(f'(+) Maça - valor: R$ {valor_maca:4.2f} - quantidade: {kilos_de_maca} kg - preço: R$ 1.80/kg') + elif kilos_de_maca > 5: + valor_maca = kilos_de_maca * 1.50 + valor_total += valor_maca + print(f'(+) Maça - valor: R$ {valor_maca:5.2f} - quantidade: {kilos_de_maca} kg - preço: R$ 1.50/kg') + if kilos_total > 8 or valor_total > 25: + desconto = valor_total * 0.1 + else: + desconto = 0 + print(f'(-) Desconto - valor: R$ {desconto :4.2f}') + print(f' Valor Total: R${valor_total - desconto :6.2f}') \ No newline at end of file From 856b003e16d71107ca9e288aa575d50d8297c0ac Mon Sep 17 00:00:00 2001 From: Ana Clara Coelho Date: Fri, 3 Jun 2022 11:56:49 -0400 Subject: [PATCH 47/50] ex 01,02,03,04 secao 03 --- .../ex_01_numero_valido.py | 7 ++++++ .../ex_02_validador_de_senha.py | 9 +++++++ .../ex_03_validador_de_cadastro.py | 24 +++++++++++++++++++ .../ex_04_crescimento_populacional.py | 12 ++++++++++ 4 files changed, 52 insertions(+) diff --git a/secao_03_estrutura_de_repeticao/ex_01_numero_valido.py b/secao_03_estrutura_de_repeticao/ex_01_numero_valido.py index 168481e57..3ddaf1c63 100644 --- a/secao_03_estrutura_de_repeticao/ex_01_numero_valido.py +++ b/secao_03_estrutura_de_repeticao/ex_01_numero_valido.py @@ -34,3 +34,10 @@ def obter_numero_valido(): """Escreva aqui em baixo a sua solução""" + while True: + valor = input('Digite um valor: ') + if valor not in (0,1,2,3,4,5,6,7,8,9,10): + print(f'Número inválido: {valor}') + else: + break + print(f'{valor}') \ No newline at end of file diff --git a/secao_03_estrutura_de_repeticao/ex_02_validador_de_senha.py b/secao_03_estrutura_de_repeticao/ex_02_validador_de_senha.py index b863e1a11..91cd61229 100644 --- a/secao_03_estrutura_de_repeticao/ex_02_validador_de_senha.py +++ b/secao_03_estrutura_de_repeticao/ex_02_validador_de_senha.py @@ -21,3 +21,12 @@ def validar_senha(): """Escreva aqui em baixo a sua solução""" + while True: + login = input('Login: ') + senha = input('Senha: ') + if senha != login: + break + else: + print('Senha deve ser diferente do login') + pass + print(f"'Cadastro realizado com suceso, seu login é {login}'") diff --git a/secao_03_estrutura_de_repeticao/ex_03_validador_de_cadastro.py b/secao_03_estrutura_de_repeticao/ex_03_validador_de_cadastro.py index 35d52987e..02419ef95 100644 --- a/secao_03_estrutura_de_repeticao/ex_03_validador_de_cadastro.py +++ b/secao_03_estrutura_de_repeticao/ex_03_validador_de_cadastro.py @@ -40,3 +40,27 @@ def cadastrar_usuario(nome: str, idade: int, salario: float, sexo: str, estado_civil: str): """Escreva aqui em baixo a sua solução""" + if len(nome) >= 3 and idade > 0 and idade < 150 and salario > 0 and sexo in ('f', 'm') and estado_civil in ('s', 'c', 'v', 'd'): + print('Cadastro realizado com sucesso') + else: + print(f'Erro: o nome precisa ter 3 letras ou mais, não pode ser {nome}') + + if idade > 0 and idade <= 150: + pass + else: + print(f'Erro: a idade precisa estar entre 0 e 150, não pode ser {idade}') + + if salario > 0: + pass + else: + print(f'Erro: o salário precisa ser positivo, não pode ser 0') + + if sexo in ('f', 'm'): + pass + else: + print(f'Erro: o sexo precisa ser "m" ou "f", não pode ser "{sexo}"') + + if estado_civil in ("s", "c", "v", "d"): + pass + else: + print(f'Erro: o estado civil precisa ser "s", "c", "v" ou "d", não pode ser "{estado_civil}"') diff --git a/secao_03_estrutura_de_repeticao/ex_04_crescimento_populacional.py b/secao_03_estrutura_de_repeticao/ex_04_crescimento_populacional.py index a2109cfb5..7b49dde0c 100644 --- a/secao_03_estrutura_de_repeticao/ex_04_crescimento_populacional.py +++ b/secao_03_estrutura_de_repeticao/ex_04_crescimento_populacional.py @@ -16,3 +16,15 @@ def calcular_ano_ultrapassagem_populacional() -> str: """Escreva aqui em baixo a sua solução""" + pop_A = 80000 + pop_B = 200000 + count = 1 + while True: + pop_A = pop_A * 1.03 + pop_B = pop_B * 1.015 + if pop_A > pop_B: + break + else: + count += 1 + pass + print(f"'População de A, depois de {count} ano(s) será de {pop_A :.0f} pessoas, superando a de B, que será de {pop_B :.0f} pessoas'") From 8dc092dd9f81fe2705ec9e5a177f8f74ab41a994 Mon Sep 17 00:00:00 2001 From: Ana Clara Coelho Date: Fri, 3 Jun 2022 13:33:02 -0400 Subject: [PATCH 48/50] correcao ed loop infinito do ex 01, secao 03 --- .../ex_01_numero_valido.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/secao_03_estrutura_de_repeticao/ex_01_numero_valido.py b/secao_03_estrutura_de_repeticao/ex_01_numero_valido.py index 3ddaf1c63..66c9f8d98 100644 --- a/secao_03_estrutura_de_repeticao/ex_01_numero_valido.py +++ b/secao_03_estrutura_de_repeticao/ex_01_numero_valido.py @@ -36,8 +36,13 @@ def obter_numero_valido(): """Escreva aqui em baixo a sua solução""" while True: valor = input('Digite um valor: ') - if valor not in (0,1,2,3,4,5,6,7,8,9,10): - print(f'Número inválido: {valor}') + if valor.isnumeric(): + valor = int(valor) + if valor < 0 or valor > 10: + print(f'Número inválido: {valor}') + else: + break else: - break + print(f'Número inválido: {valor}') + print(f'{valor}') \ No newline at end of file From f56bceac93f21fe750255047a06ff72516bd7959 Mon Sep 17 00:00:00 2001 From: Ana Clara Coelho Date: Mon, 6 Jun 2022 14:19:11 -0400 Subject: [PATCH 49/50] =?UTF-8?q?Commit=20de=20exercicio=20feito=20at?= =?UTF-8?q?=C3=A9=20o=206?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...5_crescimento_populacional_parametrizavel.py | 17 +++++++++++++++++ .../ex_06_numeros_1_a_20.py | 9 +++++++++ 2 files changed, 26 insertions(+) diff --git a/secao_03_estrutura_de_repeticao/ex_05_crescimento_populacional_parametrizavel.py b/secao_03_estrutura_de_repeticao/ex_05_crescimento_populacional_parametrizavel.py index 827d5d190..c86eb9e33 100644 --- a/secao_03_estrutura_de_repeticao/ex_05_crescimento_populacional_parametrizavel.py +++ b/secao_03_estrutura_de_repeticao/ex_05_crescimento_populacional_parametrizavel.py @@ -23,3 +23,20 @@ def calcular_ano_ultrapassagem_populacional( populacao_menor: int, taxa_crescimento_populacao_menor: float, populacao_maior, taxa_crescimento_populacao_maior:float ) -> str: """Escreva aqui em baixo a sua solução""" + pop_A = populacao_menor + pop_B = populacao_maior + count = 1 + if pop_A > pop_B: + print(f"'População de A, depois de 0 ano(s) será de {pop_A:.0f} pessoas, superando a de B, que será de {pop_B:.0f} pessoas'") + elif float(taxa_crescimento_populacao_maior) >= float(taxa_crescimento_populacao_menor): + print(f"'A taxa de crescimento do país B ({taxa_crescimento_populacao_maior * 100 :.1f}%) deve ser menor do que a do país A ({taxa_crescimento_populacao_menor * 100 :.1f}%)'") + else: + while True: + pop_A *= (1 + taxa_crescimento_populacao_menor) + pop_B *= (1 + taxa_crescimento_populacao_maior) + if pop_A > pop_B: + break + else: + count += 1 + pass + print(f"'População de A, depois de {count} ano(s) será de {pop_A:.0f} pessoas, superando a de B, que será de {pop_B:.0f} pessoas'") \ No newline at end of file diff --git a/secao_03_estrutura_de_repeticao/ex_06_numeros_1_a_20.py b/secao_03_estrutura_de_repeticao/ex_06_numeros_1_a_20.py index a72fb1d95..64cc6483c 100644 --- a/secao_03_estrutura_de_repeticao/ex_06_numeros_1_a_20.py +++ b/secao_03_estrutura_de_repeticao/ex_06_numeros_1_a_20.py @@ -33,3 +33,12 @@ def escrever_numeros_de_1_a_20(formato:str) -> str: """Escreva aqui em baixo a sua solução""" + if formato == 'um_abaixo_do_outro': + for i in range(1,21): + print(i) + elif formato == 'um_ao_lado_do_outro': + for i in range(1,21): + if i == 20: + print(f'{i}', end='') + else: + print(f'{i}', end = ' ') From 13a24405b1611d680efc2cfabd70f69bb5381d70 Mon Sep 17 00:00:00 2001 From: Ana Clara Coelho Date: Fri, 24 Jun 2022 13:21:36 -0300 Subject: [PATCH 50/50] Close #63 --- .../corretor_de_exercicios_secao_04.yml | 4 ++++ .../ex_04_consoantes_em_vetor.py | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 secao_04_exercicios_lista/ex_04_consoantes_em_vetor.py diff --git a/.github/workflows/corretor_de_exercicios_secao_04.yml b/.github/workflows/corretor_de_exercicios_secao_04.yml index 0385a5599..38f6aab0a 100644 --- a/.github/workflows/corretor_de_exercicios_secao_04.yml +++ b/.github/workflows/corretor_de_exercicios_secao_04.yml @@ -23,6 +23,10 @@ jobs: if: always() run: | python -m doctest -f secao_04_exercicios_lista/ex_02_vetores_inverso.py + - name: Correção do Exercício 04 da seção de Listas + if: always() + run: | + python -m doctest -f secao_04_exercicios_lista/ex_04_consoantes_em_vetor.py - name: Correção do Exercício 05 da seção de Listas if: always() run: | diff --git a/secao_04_exercicios_lista/ex_04_consoantes_em_vetor.py b/secao_04_exercicios_lista/ex_04_consoantes_em_vetor.py new file mode 100644 index 000000000..450b0d4fe --- /dev/null +++ b/secao_04_exercicios_lista/ex_04_consoantes_em_vetor.py @@ -0,0 +1,19 @@ +""" +Exercício 04 da seção de listas da Python Brasil: +https://wiki.python.org.br/ExerciciosListas + +Faça um Programa que leia um vetor de 10 caracteres, e diga quantas consoantes foram lidas. Imprima as consoantes. + + >>> imprimir_consoantes('consoantes') + 'A palavra "consoantes" possui 6 consoantes: c, n, s, t' + >>> imprimir_consoantes('programador') + 'Escreva uma palavra com 10 caracteres' + >>> imprimir_consoantes('amor') + 'Escreva uma palavra com 10 caracteres' + >>> imprimir_consoantes('engenheiro') + 'A palavra "engenheiro" possui 5 consoantes: n, g, h, r' +""" + + +def imprimir_consoantes(palavra: str): + """Escreva aqui embaixo a sua solução""" \ No newline at end of file