From ac8a58e19a965050c470b14ba68d85b303b43b1c Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Mon, 23 May 2022 14:24:46 -0300 Subject: [PATCH 01/47] =?UTF-8?q?Resolvido=20ex.=2001=20da=20se=C3=A7?= =?UTF-8?q?=C3=A3o=2001?= 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 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secao_01_estrutura_sequencial/ex_01_alo_mundo.py b/secao_01_estrutura_sequencial/ex_01_alo_mundo.py index b9b0821a6..b3ca2734e 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á Mund') From c8757e1f61b6295f1ff1f56086c4b37f94637a93 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Mon, 23 May 2022 14:30:59 -0300 Subject: [PATCH 02/47] =?UTF-8?q?=20Resolvido=20(mesmo)=20=20ex.=2001=20da?= =?UTF-8?q?=20se=C3=A7=C3=A3o=2001?= 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 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secao_01_estrutura_sequencial/ex_01_alo_mundo.py b/secao_01_estrutura_sequencial/ex_01_alo_mundo.py index b3ca2734e..a8254430a 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á Mund') + print ('Olá Mundo') From c4bd523efb2a3698fbe0c18211c2f0c6aa89f56a Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Mon, 23 May 2022 14:24:46 -0300 Subject: [PATCH 03/47] =?UTF-8?q?Resolvido=20ex.=2001=20da=20se=C3=A7?= =?UTF-8?q?=C3=A3o=2001?= 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 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secao_01_estrutura_sequencial/ex_01_alo_mundo.py b/secao_01_estrutura_sequencial/ex_01_alo_mundo.py index b9b0821a6..b3ca2734e 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á Mund') From 2d882f313356477764087646f4560e33aa8b850e Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Mon, 23 May 2022 14:30:59 -0300 Subject: [PATCH 04/47] =?UTF-8?q?=20Resolvido=20(mesmo)=20=20ex.=2001=20da?= =?UTF-8?q?=20se=C3=A7=C3=A3o=2001?= 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 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secao_01_estrutura_sequencial/ex_01_alo_mundo.py b/secao_01_estrutura_sequencial/ex_01_alo_mundo.py index b3ca2734e..a8254430a 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á Mund') + print ('Olá Mundo') From 54e182a5aaf88be811741878677dad72884c568e Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Wed, 25 May 2022 14:02:52 -0300 Subject: [PATCH 05/47] resolvendo ex 2 --- secao_01_estrutura_sequencial/ex_02_escreva_um_numero.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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..b535aeac4 100644 --- a/secao_01_estrutura_sequencial/ex_02_escreva_um_numero.py +++ b/secao_01_estrutura_sequencial/ex_02_escreva_um_numero.py @@ -12,5 +12,7 @@ """ def escreva_um_numero(): - """Escreva aqui em baixo a sua solução""" + # """Escreva aqui em baixo a sua solução""" + x = input('Digite um número:') + From 45797ccfbbd580e20041f8bdc777d592a77b2ad5 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Wed, 25 May 2022 16:08:37 -0300 Subject: [PATCH 06/47] =?UTF-8?q?Exerc=C3=ADcio=202=20-=20Se=C3=A7=C3=A3o?= =?UTF-8?q?=201=20Completo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 3 +++ .idea/inspectionProfiles/profiles_settings.xml | 6 ++++++ .idea/lista-de-exercicios-python-busertec.iml | 12 ++++++++++++ .idea/modules.xml | 8 ++++++++ .idea/vcs.xml | 6 ++++++ .vscode/launch.json | 16 ++++++++++++++++ secao_01_estrutura_sequencial/ex_01_alo_mundo.py | 2 +- .../ex_02_escreva_um_numero.py | 7 +++++-- 8 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/lista-de-exercicios-python-busertec.iml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 .vscode/launch.json 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-busertec.iml b/.idea/lista-de-exercicios-python-busertec.iml new file mode 100644 index 000000000..8b8c39547 --- /dev/null +++ b/.idea/lista-de-exercicios-python-busertec.iml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 000000000..553f848ab --- /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/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 000000000..dbcb261c9 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,16 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Python: Arquivo Atual", + "type": "python", + "request": "launch", + "program": "${file}", + "console": "integratedTerminal", + "justMyCode": true + } + ] +} \ No newline at end of file diff --git a/secao_01_estrutura_sequencial/ex_01_alo_mundo.py b/secao_01_estrutura_sequencial/ex_01_alo_mundo.py index a8254430a..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') + 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 b535aeac4..82b8edb5a 100644 --- a/secao_01_estrutura_sequencial/ex_02_escreva_um_numero.py +++ b/secao_01_estrutura_sequencial/ex_02_escreva_um_numero.py @@ -11,8 +11,11 @@ """ +from ast import Num + + def escreva_um_numero(): # """Escreva aqui em baixo a sua solução""" - x = input('Digite um número:') - + num=int(input("Digite um número:")) + print(f'O número informado foi {num}') \ No newline at end of file From 09e64cfb52f98932648cd5dc090c215097569e48 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Wed, 25 May 2022 17:02:15 -0300 Subject: [PATCH 07/47] =?UTF-8?q?Resolu=C3=A7=C3=A3o=20ex-03?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/misc.xml | 4 ++++ .../ex_03_imprima_soma_de_dois_numeros.py | 3 +++ 2 files changed, 7 insertions(+) create mode 100644 .idea/misc.xml 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/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..295811a27 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""" + numero1 = int(input('Digite um número: ')) + numero2 = int(input('Digite o segundo número: ')) + print (f'a soma dos números é {numero1 + numero2}') \ No newline at end of file From 9d7ff812acb6db7d628f72eb73132c47758f6e07 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Wed, 25 May 2022 17:03:02 -0300 Subject: [PATCH 08/47] =?UTF-8?q?Resolu=C3=A7=C3=A3o=20ex-03=20mesmo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_03_imprima_soma_de_dois_numeros.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 295811a27..ec0ac3142 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""" numero1 = int(input('Digite um número: ')) numero2 = int(input('Digite o segundo número: ')) - print (f'a soma dos números é {numero1 + numero2}') \ No newline at end of file + print (f'A soma dos números é: {numero1 + numero2}') \ No newline at end of file From 7ccccd5edf54866451619a026a01dd0d0a1282cf Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Wed, 25 May 2022 17:15:32 -0300 Subject: [PATCH 09/47] =?UTF-8?q?Resolu=C3=A7=C3=A3o=20do=20Ex-04?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py b/secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py index a1b189cd5..6a246f283 100644 --- a/secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py +++ b/secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py @@ -15,4 +15,8 @@ def calcular_media(): """Escreva aqui em baixo a sua solução""" - + media1 = float(input('Digite a media do 1 bimestre ')) + media2 = float(input('Digite a media do 2 bimestre ')) + media3 = float(input('Digite a media do 3 bimestre ')) + media4 = float(input('Digite a media do 4 bimestre ')) + print (f'A média anual é {(media1 + media2 + media3 + media4) / 4}') From b489f04aafdb89f1435481a399ade8656fc0f660 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Tue, 31 May 2022 09:40:15 -0300 Subject: [PATCH 10/47] ex 5,6 e 7 realizados --- .../ex_05_metros_para_centimetros.py | 12 ++++++++++++ secao_01_estrutura_sequencial/ex_06_area_circulo.py | 6 ++++++ secao_01_estrutura_sequencial/ex_07_area_quadrado.py | 9 +++++++++ 3 files changed, 27 insertions(+) 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..9e08b6343 100644 --- a/secao_01_estrutura_sequencial/ex_05_metros_para_centimetros.py +++ b/secao_01_estrutura_sequencial/ex_05_metros_para_centimetros.py @@ -13,7 +13,19 @@ Transformando para centímetros dá 362.1 cm """ +# conversão feita do m vezes 100 +def conversao (m): + return 100* m + + # imput pedindo a quantidade de metros + print ('Transformando para centímetros dá: {(conversao (m))}cm') + # o 'f' do inicio garante a formatação usada, a conversao 'def' precisa + # estar entre chaves e o : .1f limita as casas decimais para apenas uma, arredondando as que sobram. def converter_metros_para_centrimetros(): """Escreva aqui em baixo a sua solução""" + m = float(input('Digite a quantidade de metros para conversão:')) + print(f'Transformando para centímetros dá{(conversao (m)): .1f} cm') + + diff --git a/secao_01_estrutura_sequencial/ex_06_area_circulo.py b/secao_01_estrutura_sequencial/ex_06_area_circulo.py index 840559026..a6a10c0e0 100644 --- a/secao_01_estrutura_sequencial/ex_06_area_circulo.py +++ b/secao_01_estrutura_sequencial/ex_06_area_circulo.py @@ -18,3 +18,9 @@ def calcular_area_de_circulo(): """Escreva aqui em baixo a sua solução""" + + m = float(input('Digite o raio do círculo: ')) + + c = 3.1415* (m**2) + + print(f'A área do círculo com esse raio é: {c:.4f}') diff --git a/secao_01_estrutura_sequencial/ex_07_area_quadrado.py b/secao_01_estrutura_sequencial/ex_07_area_quadrado.py index 63b12a193..e2bf6c9bf 100644 --- a/secao_01_estrutura_sequencial/ex_07_area_quadrado.py +++ b/secao_01_estrutura_sequencial/ex_07_area_quadrado.py @@ -20,3 +20,12 @@ def calcular_area_de_quadrado(): """Escreva aqui em baixo a sua solução""" + + m = float(input('Digite o lado do quadrado: ')) **2 + + c = m * 2 + + print(f'A área do quadrado com esse lado é: {m:.2f}') + + print(f'O dobro da aŕea do quadrado é: {c:.2f}') + From 8c88cb5890443a1d71022737ccba020d1298ec53 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Tue, 31 May 2022 10:25:19 -0300 Subject: [PATCH 11/47] =?UTF-8?q?ex=2008,09=20e=2010=20conclu=C3=ADdos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_08_horas_trabalhadas_mes.py | 9 +++++++++ .../ex_09_fahrenheit_para_celsius.py | 3 +++ .../ex_10_celsius_para_fahrenheit.py | 3 +++ 3 files changed, 15 insertions(+) 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..51e0b70ce 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,12 @@ def calcular_salario(): """Escreva aqui em baixo a sua solução""" + + m = float(input('Digite quanto você ganha por hora trabalhada: ')) + n = float(input('Digite quantas horas você trabalha por mês: ')) + + print(f'Seu salário desse mês é {m * n:.2f}') + + + + 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..0db00ed7f 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""" + + m = float(input('Digite quantos graus Fahrenheit você quer converter para Celsius: ')) + print(f'Essa temperatura é de {(m-32)/1.8:.0f} 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..9b94d4230 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""" + + m = float(input('Digite quantos graus Celsius você quer converter para Fahrenheit: ')) + print(f'Essa temperatura é de {m*1.8+32:.0f} Fahrenheit') \ No newline at end of file From 83d187d7748aaed612b64b7436121497b4be79ca Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Tue, 31 May 2022 11:18:19 -0300 Subject: [PATCH 12/47] ex 11,12 e 13 completos --- secao_01_estrutura_sequencial/ex_11_contas_matematicas.py | 7 ++++++- secao_01_estrutura_sequencial/ex_12_peso_ideal.py | 2 ++ .../ex_13_peso_ideal_mulher_e_homem.py | 3 +++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/secao_01_estrutura_sequencial/ex_11_contas_matematicas.py b/secao_01_estrutura_sequencial/ex_11_contas_matematicas.py index 09bdbbffd..d4b935224 100644 --- a/secao_01_estrutura_sequencial/ex_11_contas_matematicas.py +++ b/secao_01_estrutura_sequencial/ex_11_contas_matematicas.py @@ -23,4 +23,9 @@ def calcular_formulas(): """Escreva aqui em baixo a sua solução""" - + n1 = int(input('Digite o primeiro número inteiro ')) + n2 = int(input('Digite o segundo número inteiro ')) + nr = float(input('Digite o 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 é {(n1*3)+nr:.2f}') + print(f'O terceiro elevado ao cubo é {nr**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..fca50c7d8 100644 --- a/secao_01_estrutura_sequencial/ex_12_peso_ideal.py +++ b/secao_01_estrutura_sequencial/ex_12_peso_ideal.py @@ -19,3 +19,5 @@ def calcular_peso_ideal(): """Escreva aqui em baixo a sua solução""" + a = float(input('Digite sua altura: ')) + print(f'Seu peso ideal é {(72.7 * a)-58:.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..e586d43c5 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,6 @@ def calcular_peso_ideal(): """Escreva aqui em baixo a sua solução""" + a = float(input('Digite sua altura: ')) + print(f'Seu peso ideal é {(62.1 * a)-44.7:.1f} kg, se você for mulher') + print(f'Seu peso ideal é {(72.7 * a)-58:.1f} kg, se você for homem') \ No newline at end of file From 30d06df1c1cfa6af91a3c74197a199b6a342a34c Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Tue, 31 May 2022 15:21:36 -0300 Subject: [PATCH 13/47] ex 14 e 15 feitos --- .../ex_14_joao_papo_de_pescador.py | 10 ++++++++++ secao_01_estrutura_sequencial/ex_15_clt_onerosa.py | 13 +++++++++++++ 2 files changed, 23 insertions(+) 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..bc3c22d4f 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,13 @@ def calcular_peso_excedente_e_multa(): """Escreva aqui em baixo a sua solução""" + + p = float(input('Seu Jão, digite quantos kgs você pescou hoje: ')) + if p <= 50: + + print(f'O peso excedente de peixes é de {0:.2f} kg') + print(f'Por isso, a multa é de R$ {0:.2f}') + + else: + print(f'O peso excedente de peixes é de {p-50:.2f} kg') + print(f'Por isso, a multa é de R$ {(p-50)*4:.2f}') diff --git a/secao_01_estrutura_sequencial/ex_15_clt_onerosa.py b/secao_01_estrutura_sequencial/ex_15_clt_onerosa.py index 901de0409..856ba8a52 100644 --- a/secao_01_estrutura_sequencial/ex_15_clt_onerosa.py +++ b/secao_01_estrutura_sequencial/ex_15_clt_onerosa.py @@ -27,3 +27,16 @@ def calcular_assalto_no_salario(): """Escreva aqui em baixo a sua solução""" + + g = float(input('Digite quanto você ganha por hora trabalhada : ')) + h = float(input('Digite quantas horas você trabalha por mês: ')) + + print(f'+ Salário Bruto : {g*h:.2f}') + + print(f'- IR (11%) : R$ {(g*h) * 0.11 :.2f}') + + print(f'- INSS (8%) : R$ {(g*h) * 0.08 :.2f}') + + print(f'- Sindicato ( 5%) : R$ {(g*h) * 0.05 :.2f}') + + print(f'= Salário Liquido : R$ {(g*h)-(((g*h) * 0.11) + ((g*h) * 0.08) + ((g*h) * 0.05)):.2f}') \ No newline at end of file From b20a1941afec01848a5f324f4f5556499771615e Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Wed, 1 Jun 2022 14:02:37 -0300 Subject: [PATCH 14/47] ex 16 feito --- .vscode/launch.json | 31 ++++++++++--------- .../ex_16_loja_de_tintas_simples.py | 6 ++++ 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index dbcb261c9..e6c436a5e 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,16 +1,17 @@ { - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Python: Arquivo Atual", - "type": "python", - "request": "launch", - "program": "${file}", - "console": "integratedTerminal", - "justMyCode": true - } - ] -} \ No newline at end of file + // Use o IntelliSense para saber mais sobre os atributos possíveis. + // Focalizar para exibir as descrições dos atributos existentes. + // Para obter mais informações, acesse: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Rodar Doctest", + "type": "python", + "request": "launch", + "module": "doctest", + "args": ["${file}", "-v"], + "cwd": "${workspaceRoot}", + "justMyCode": true + } + ] +} 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..1be1ee213 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,9 @@ def calcular_latas_e_preco_de_tinta(): """Escreva aqui em baixo a sua solução""" + + from math import ceil + a_p = float(input('Digite a área a ser pintada em m2: ')) + l_p_m = ceil (a_p / 3) + n_d_l = ceil(l_p_m / 18) + print (f'Você deve comprar {n_d_l:.0f} lata(s) tinta ao custo de R$ {n_d_l * 80:.2f}') From ebf2ece7c2e65927c3d55b6ef9d95c170e819ee6 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Wed, 25 May 2022 14:02:52 -0300 Subject: [PATCH 15/47] resolvendo ex 2 --- secao_01_estrutura_sequencial/ex_02_escreva_um_numero.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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..b535aeac4 100644 --- a/secao_01_estrutura_sequencial/ex_02_escreva_um_numero.py +++ b/secao_01_estrutura_sequencial/ex_02_escreva_um_numero.py @@ -12,5 +12,7 @@ """ def escreva_um_numero(): - """Escreva aqui em baixo a sua solução""" + # """Escreva aqui em baixo a sua solução""" + x = input('Digite um número:') + From 11bc92e59250e6fe89a92a10899b0a4e82667178 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Wed, 25 May 2022 16:08:37 -0300 Subject: [PATCH 16/47] =?UTF-8?q?Exerc=C3=ADcio=202=20-=20Se=C3=A7=C3=A3o?= =?UTF-8?q?=201=20Completo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 3 +++ .idea/inspectionProfiles/profiles_settings.xml | 6 ++++++ .idea/lista-de-exercicios-python-busertec.iml | 12 ++++++++++++ .idea/modules.xml | 8 ++++++++ .idea/vcs.xml | 6 ++++++ .vscode/launch.json | 16 ++++++++++++++++ secao_01_estrutura_sequencial/ex_01_alo_mundo.py | 2 +- .../ex_02_escreva_um_numero.py | 7 +++++-- 8 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/lista-de-exercicios-python-busertec.iml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 .vscode/launch.json 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-busertec.iml b/.idea/lista-de-exercicios-python-busertec.iml new file mode 100644 index 000000000..8b8c39547 --- /dev/null +++ b/.idea/lista-de-exercicios-python-busertec.iml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 000000000..553f848ab --- /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/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 000000000..dbcb261c9 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,16 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Python: Arquivo Atual", + "type": "python", + "request": "launch", + "program": "${file}", + "console": "integratedTerminal", + "justMyCode": true + } + ] +} \ No newline at end of file diff --git a/secao_01_estrutura_sequencial/ex_01_alo_mundo.py b/secao_01_estrutura_sequencial/ex_01_alo_mundo.py index a8254430a..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') + 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 b535aeac4..82b8edb5a 100644 --- a/secao_01_estrutura_sequencial/ex_02_escreva_um_numero.py +++ b/secao_01_estrutura_sequencial/ex_02_escreva_um_numero.py @@ -11,8 +11,11 @@ """ +from ast import Num + + def escreva_um_numero(): # """Escreva aqui em baixo a sua solução""" - x = input('Digite um número:') - + num=int(input("Digite um número:")) + print(f'O número informado foi {num}') \ No newline at end of file From 986ac5ab546cf21e3ccb60e5cb60c88c2b088e0a Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Wed, 25 May 2022 17:02:15 -0300 Subject: [PATCH 17/47] =?UTF-8?q?Resolu=C3=A7=C3=A3o=20ex-03?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/misc.xml | 4 ++++ .../ex_03_imprima_soma_de_dois_numeros.py | 3 +++ 2 files changed, 7 insertions(+) create mode 100644 .idea/misc.xml 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/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..295811a27 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""" + numero1 = int(input('Digite um número: ')) + numero2 = int(input('Digite o segundo número: ')) + print (f'a soma dos números é {numero1 + numero2}') \ No newline at end of file From d9a9c64ce2aa21f293f6fbe677d285ad6672afbd Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Wed, 25 May 2022 17:03:02 -0300 Subject: [PATCH 18/47] =?UTF-8?q?Resolu=C3=A7=C3=A3o=20ex-03=20mesmo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_03_imprima_soma_de_dois_numeros.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 295811a27..ec0ac3142 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""" numero1 = int(input('Digite um número: ')) numero2 = int(input('Digite o segundo número: ')) - print (f'a soma dos números é {numero1 + numero2}') \ No newline at end of file + print (f'A soma dos números é: {numero1 + numero2}') \ No newline at end of file From 772aa0cab9738dd5ecb2c49f94a199011db8eb14 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Wed, 25 May 2022 17:15:32 -0300 Subject: [PATCH 19/47] =?UTF-8?q?Resolu=C3=A7=C3=A3o=20do=20Ex-04?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py b/secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py index a1b189cd5..6a246f283 100644 --- a/secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py +++ b/secao_01_estrutura_sequencial/ex_04_notas_bimestrais.py @@ -15,4 +15,8 @@ def calcular_media(): """Escreva aqui em baixo a sua solução""" - + media1 = float(input('Digite a media do 1 bimestre ')) + media2 = float(input('Digite a media do 2 bimestre ')) + media3 = float(input('Digite a media do 3 bimestre ')) + media4 = float(input('Digite a media do 4 bimestre ')) + print (f'A média anual é {(media1 + media2 + media3 + media4) / 4}') From 99b36bf34a8745febd5147af92725b15cda89ef8 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Tue, 31 May 2022 09:40:15 -0300 Subject: [PATCH 20/47] ex 5,6 e 7 realizados --- .../ex_05_metros_para_centimetros.py | 12 ++++++++++++ secao_01_estrutura_sequencial/ex_06_area_circulo.py | 6 ++++++ secao_01_estrutura_sequencial/ex_07_area_quadrado.py | 9 +++++++++ 3 files changed, 27 insertions(+) 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..3ed8886b9 100644 --- a/secao_01_estrutura_sequencial/ex_05_metros_para_centimetros.py +++ b/secao_01_estrutura_sequencial/ex_05_metros_para_centimetros.py @@ -13,7 +13,19 @@ Transformando para centímetros dá 362.1 cm """ +# conversão feita do m vezes 100 +def conversao (m): + return 100* m + + # imput pedindo a quantidade de metros + print ('Transformando para centímetros dá: {(conversao (m))}cm') + # o 'f' do inicio garante a formatação usada, a conversao 'def' precisa + # estar entre chaves e o : .1f limita as casas decimais para apenas uma, arredondando as que sobram. def converter_metros_para_centimetros(): """Escreva aqui em baixo a sua solução""" + m = float(input('Digite a quantidade de metros para conversão:')) + print(f'Transformando para centímetros dá{(conversao (m)): .1f} cm') + + diff --git a/secao_01_estrutura_sequencial/ex_06_area_circulo.py b/secao_01_estrutura_sequencial/ex_06_area_circulo.py index 840559026..a6a10c0e0 100644 --- a/secao_01_estrutura_sequencial/ex_06_area_circulo.py +++ b/secao_01_estrutura_sequencial/ex_06_area_circulo.py @@ -18,3 +18,9 @@ def calcular_area_de_circulo(): """Escreva aqui em baixo a sua solução""" + + m = float(input('Digite o raio do círculo: ')) + + c = 3.1415* (m**2) + + print(f'A área do círculo com esse raio é: {c:.4f}') diff --git a/secao_01_estrutura_sequencial/ex_07_area_quadrado.py b/secao_01_estrutura_sequencial/ex_07_area_quadrado.py index 63b12a193..e2bf6c9bf 100644 --- a/secao_01_estrutura_sequencial/ex_07_area_quadrado.py +++ b/secao_01_estrutura_sequencial/ex_07_area_quadrado.py @@ -20,3 +20,12 @@ def calcular_area_de_quadrado(): """Escreva aqui em baixo a sua solução""" + + m = float(input('Digite o lado do quadrado: ')) **2 + + c = m * 2 + + print(f'A área do quadrado com esse lado é: {m:.2f}') + + print(f'O dobro da aŕea do quadrado é: {c:.2f}') + From fe534ae518dee3484e3511bf8c28fd3769561daa Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Tue, 31 May 2022 10:25:19 -0300 Subject: [PATCH 21/47] =?UTF-8?q?ex=2008,09=20e=2010=20conclu=C3=ADdos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_08_horas_trabalhadas_mes.py | 9 +++++++++ .../ex_09_fahrenheit_para_celsius.py | 3 +++ .../ex_10_celsius_para_fahrenheit.py | 3 +++ 3 files changed, 15 insertions(+) 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..51e0b70ce 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,12 @@ def calcular_salario(): """Escreva aqui em baixo a sua solução""" + + m = float(input('Digite quanto você ganha por hora trabalhada: ')) + n = float(input('Digite quantas horas você trabalha por mês: ')) + + print(f'Seu salário desse mês é {m * n:.2f}') + + + + 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..0db00ed7f 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""" + + m = float(input('Digite quantos graus Fahrenheit você quer converter para Celsius: ')) + print(f'Essa temperatura é de {(m-32)/1.8:.0f} 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..9b94d4230 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""" + + m = float(input('Digite quantos graus Celsius você quer converter para Fahrenheit: ')) + print(f'Essa temperatura é de {m*1.8+32:.0f} Fahrenheit') \ No newline at end of file From 43c879b3a4a9ff5dcf0d0b9ef18955d02bf23695 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Tue, 31 May 2022 11:18:19 -0300 Subject: [PATCH 22/47] ex 11,12 e 13 completos --- secao_01_estrutura_sequencial/ex_11_contas_matematicas.py | 7 ++++++- secao_01_estrutura_sequencial/ex_12_peso_ideal.py | 2 ++ .../ex_13_peso_ideal_mulher_e_homem.py | 3 +++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/secao_01_estrutura_sequencial/ex_11_contas_matematicas.py b/secao_01_estrutura_sequencial/ex_11_contas_matematicas.py index 09bdbbffd..d4b935224 100644 --- a/secao_01_estrutura_sequencial/ex_11_contas_matematicas.py +++ b/secao_01_estrutura_sequencial/ex_11_contas_matematicas.py @@ -23,4 +23,9 @@ def calcular_formulas(): """Escreva aqui em baixo a sua solução""" - + n1 = int(input('Digite o primeiro número inteiro ')) + n2 = int(input('Digite o segundo número inteiro ')) + nr = float(input('Digite o 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 é {(n1*3)+nr:.2f}') + print(f'O terceiro elevado ao cubo é {nr**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..fca50c7d8 100644 --- a/secao_01_estrutura_sequencial/ex_12_peso_ideal.py +++ b/secao_01_estrutura_sequencial/ex_12_peso_ideal.py @@ -19,3 +19,5 @@ def calcular_peso_ideal(): """Escreva aqui em baixo a sua solução""" + a = float(input('Digite sua altura: ')) + print(f'Seu peso ideal é {(72.7 * a)-58:.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..e586d43c5 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,6 @@ def calcular_peso_ideal(): """Escreva aqui em baixo a sua solução""" + a = float(input('Digite sua altura: ')) + print(f'Seu peso ideal é {(62.1 * a)-44.7:.1f} kg, se você for mulher') + print(f'Seu peso ideal é {(72.7 * a)-58:.1f} kg, se você for homem') \ No newline at end of file From bc9f31a17b19e86a486138917d9770cd82fafe24 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Tue, 31 May 2022 15:21:36 -0300 Subject: [PATCH 23/47] ex 14 e 15 feitos --- .../ex_14_joao_papo_de_pescador.py | 10 ++++++++++ secao_01_estrutura_sequencial/ex_15_clt_onerosa.py | 13 +++++++++++++ 2 files changed, 23 insertions(+) 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..bc3c22d4f 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,13 @@ def calcular_peso_excedente_e_multa(): """Escreva aqui em baixo a sua solução""" + + p = float(input('Seu Jão, digite quantos kgs você pescou hoje: ')) + if p <= 50: + + print(f'O peso excedente de peixes é de {0:.2f} kg') + print(f'Por isso, a multa é de R$ {0:.2f}') + + else: + print(f'O peso excedente de peixes é de {p-50:.2f} kg') + print(f'Por isso, a multa é de R$ {(p-50)*4:.2f}') diff --git a/secao_01_estrutura_sequencial/ex_15_clt_onerosa.py b/secao_01_estrutura_sequencial/ex_15_clt_onerosa.py index 901de0409..856ba8a52 100644 --- a/secao_01_estrutura_sequencial/ex_15_clt_onerosa.py +++ b/secao_01_estrutura_sequencial/ex_15_clt_onerosa.py @@ -27,3 +27,16 @@ def calcular_assalto_no_salario(): """Escreva aqui em baixo a sua solução""" + + g = float(input('Digite quanto você ganha por hora trabalhada : ')) + h = float(input('Digite quantas horas você trabalha por mês: ')) + + print(f'+ Salário Bruto : {g*h:.2f}') + + print(f'- IR (11%) : R$ {(g*h) * 0.11 :.2f}') + + print(f'- INSS (8%) : R$ {(g*h) * 0.08 :.2f}') + + print(f'- Sindicato ( 5%) : R$ {(g*h) * 0.05 :.2f}') + + print(f'= Salário Liquido : R$ {(g*h)-(((g*h) * 0.11) + ((g*h) * 0.08) + ((g*h) * 0.05)):.2f}') \ No newline at end of file From c8328c155d86dc3b5a06dca666863b9a64aff914 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Wed, 1 Jun 2022 14:02:37 -0300 Subject: [PATCH 24/47] ex 16 feito --- .vscode/launch.json | 31 ++++++++++--------- .../ex_16_loja_de_tintas_simples.py | 6 ++++ 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index dbcb261c9..e6c436a5e 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,16 +1,17 @@ { - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Python: Arquivo Atual", - "type": "python", - "request": "launch", - "program": "${file}", - "console": "integratedTerminal", - "justMyCode": true - } - ] -} \ No newline at end of file + // Use o IntelliSense para saber mais sobre os atributos possíveis. + // Focalizar para exibir as descrições dos atributos existentes. + // Para obter mais informações, acesse: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Rodar Doctest", + "type": "python", + "request": "launch", + "module": "doctest", + "args": ["${file}", "-v"], + "cwd": "${workspaceRoot}", + "justMyCode": true + } + ] +} 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..1be1ee213 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,9 @@ def calcular_latas_e_preco_de_tinta(): """Escreva aqui em baixo a sua solução""" + + from math import ceil + a_p = float(input('Digite a área a ser pintada em m2: ')) + l_p_m = ceil (a_p / 3) + n_d_l = ceil(l_p_m / 18) + print (f'Você deve comprar {n_d_l:.0f} lata(s) tinta ao custo de R$ {n_d_l * 80:.2f}') From 10c31094d64c4ad9d24071dd6bd82b04de22727e Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Wed, 1 Jun 2022 14:10:24 -0300 Subject: [PATCH 25/47] ex 17 - bot corrigido manualmente --- .../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 09b7e7ffc..5e451cbf3 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 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. + 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. >>> 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.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. + 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. """ From 25fb7f4ff9fc16492d7fc0d5662a1f0a9df7ff4c Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Wed, 1 Jun 2022 14:12:06 -0300 Subject: [PATCH 26/47] ex 17 - bot corrigido manualmente --- .../ex_17_loja_de_tintas_complexa.py | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 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..bba4f3734 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 @@ -1,7 +1,6 @@ """ Exercício 17 da seção de estrutura sequencial da Python Brasil: https://wiki.python.org.br/EstruturaSequencial - Faça um Programa para uma loja de tintas. O programa deverá pedir o tamanho em metros quadrados da área a ser pintada. Considere que a cobertura da tinta é de 1 litro para cada 6 metros quadrados e que a tinta é vendida em latas de 18 litros, que custam R$ 80,00 ou em galões de 3,6 litros, que custam R$ 25,00. @@ -10,23 +9,21 @@ comprar apenas galões de 3,6 litros; misturar latas e galões, de forma que o custo seja menor. Acrescente 10% de folga e sempre arredonde os valores para cima, isto é, considere latas cheias. - >>> 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. """ def calcular_latas_e_preco_de_tinta(): - """Escreva aqui em baixo a sua solução""" + """Escreva aqui em baixo a sua solução""" \ No newline at end of file From ad7cd46af1a973864a044e5dde4fb22fecf356cb Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Thu, 2 Jun 2022 15:05:42 -0300 Subject: [PATCH 27/47] Ex 18 feito e 17 quase pronto --- .../ex_17_loja_de_tintas_complexa.py | 39 ++++++++++++++++++- .../ex_18_tempo_de_download.py | 10 +++-- 2 files changed, 44 insertions(+), 5 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 bba4f3734..a90b1e162 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 @@ -24,6 +24,41 @@ 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 math import ceil, floor -def calcular_latas_e_preco_de_tinta(): - """Escreva aqui em baixo a sua solução""" \ No newline at end of file + +# lata + area_a_ser_pintada = int(input('Digite a área a ser pintada em m2: ')) + area_com_folga = float(area_a_ser_pintada *1.1) + litros_por_metro = 6 + litros_a_serem_usados = ceil(area_com_folga / litros_por_metro) + litros_por_lata = 18 + numero_de_latas = ceil(litros_a_serem_usados /litros_por_lata) + valor_com_apenas_latas = numero_de_latas * 80 + sobra_da_tinta = (numero_de_latas * litros_por_lata) - litros_a_serem_usados + print(f'Você pode comprar {numero_de_latas} lata(s) de 18 litros a um custo de R$ {valor_com_apenas_latas}. Vão sobrar {sobra_da_tinta:.1f} litro(s) de tinta.') + +# galao + litros_por_galao = 3.6 + numero_de_galoes = ceil(litros_a_serem_usados / litros_por_galao) + valor_com_apenas_galoes = numero_de_galoes * 25 + sobra_do_galao = (numero_de_galoes * litros_por_galao) - litros_a_serem_usados + print(f'Você pode comprar {numero_de_galoes} lata(s) de 3.6 litros a um custo de R$ {valor_com_apenas_galoes}. Vão sobrar {sobra_do_galao:.1f} litro(s) de tinta.') + +# lata e galao juntos + numero_de_latas_baixo = floor(litros_a_serem_usados - litros_por_lata) + valor_de_latas = numero_de_latas * 80 + + + + litros_faltantes = litros_a_serem_usados % litros_por_lata + numero_de_galoes_baixo = ceil(litros_faltantes / litros_por_galao) + valor_com_galoes = numero_de_galoes * 25 + + + + valor_total = numero_de_latas_baixo *80 + numero_de_galoes_baixo * 25 + + sobra = (numero_de_latas_baixo + numero_de_galoes_baixo) + + print(f'Para menor custo, você pode comprar {numero_de_latas_baixo} lata(s) de 18 litros e {numero_de_galoes_baixo} galão(ões) de 3.6 litros a um custo de R$ {valor_total}. Vão sobrar {sobra:.1f} litro(s) de tinta.') \ No newline at end of file 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..e54d8ea65 100644 --- a/secao_01_estrutura_sequencial/ex_18_tempo_de_download.py +++ b/secao_01_estrutura_sequencial/ex_18_tempo_de_download.py @@ -3,11 +3,10 @@ https://wiki.python.org.br/EstruturaSequencial Faça um programa que peça o tamanho de um arquivo para download (em MB) e a velocidade de um link de Internet (em Mbps), -calcule e informe o tempo aproximado de download do arquivo usando este link (em minutos). -Arredonde o tempo em minutos +calcule e o tempo em minutos >>> from secao_01_estrutura_sequencial import ex_18_tempo_de_download - >>> numeros =['50', '2500'] + >>> numeros = ['50', '2500'] >>> ex_18_tempo_de_download.input = lambda k: numeros.pop() >>> ex_18_tempo_de_download.calcular_tempo_de_download() O tempo aproximado do Download é: 7 minuto(s) @@ -21,3 +20,8 @@ def calcular_tempo_de_download(): """Escreva aqui em baixo a sua solução""" + + mb = float(input('Digite quantos MB tem o arquivo que você irá baixar: ')) + mbps = float(input('Digite qual é a velocidade da sua internet: ')) + tempo = (mb/(mbps / 8))/60 + print(f'O tempo aproximado do Download é: {tempo:.0f} minuto(s)') From d589b94167bd310eea1eb48754f47fc235107101 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Thu, 2 Jun 2022 16:43:14 -0300 Subject: [PATCH 28/47] =?UTF-8?q?SE=C3=87=C3=83O=201=20TERMINADA.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_17_loja_de_tintas_complexa.py | 65 ++++++++----------- .../ex_01_imprimir_maior_numero.py | 6 ++ 2 files changed, 33 insertions(+), 38 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 a90b1e162..dc478ab03 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 @@ -24,41 +24,30 @@ 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 math import ceil, floor - - -# lata - area_a_ser_pintada = int(input('Digite a área a ser pintada em m2: ')) - area_com_folga = float(area_a_ser_pintada *1.1) - litros_por_metro = 6 - litros_a_serem_usados = ceil(area_com_folga / litros_por_metro) - litros_por_lata = 18 - numero_de_latas = ceil(litros_a_serem_usados /litros_por_lata) - valor_com_apenas_latas = numero_de_latas * 80 - sobra_da_tinta = (numero_de_latas * litros_por_lata) - litros_a_serem_usados - print(f'Você pode comprar {numero_de_latas} lata(s) de 18 litros a um custo de R$ {valor_com_apenas_latas}. Vão sobrar {sobra_da_tinta:.1f} litro(s) de tinta.') - -# galao - litros_por_galao = 3.6 - numero_de_galoes = ceil(litros_a_serem_usados / litros_por_galao) - valor_com_apenas_galoes = numero_de_galoes * 25 - sobra_do_galao = (numero_de_galoes * litros_por_galao) - litros_a_serem_usados - print(f'Você pode comprar {numero_de_galoes} lata(s) de 3.6 litros a um custo de R$ {valor_com_apenas_galoes}. Vão sobrar {sobra_do_galao:.1f} litro(s) de tinta.') - -# lata e galao juntos - numero_de_latas_baixo = floor(litros_a_serem_usados - litros_por_lata) - valor_de_latas = numero_de_latas * 80 - - - - litros_faltantes = litros_a_serem_usados % litros_por_lata - numero_de_galoes_baixo = ceil(litros_faltantes / litros_por_galao) - valor_com_galoes = numero_de_galoes * 25 - - - - valor_total = numero_de_latas_baixo *80 + numero_de_galoes_baixo * 25 - - sobra = (numero_de_latas_baixo + numero_de_galoes_baixo) - - print(f'Para menor custo, você pode comprar {numero_de_latas_baixo} lata(s) de 18 litros e {numero_de_galoes_baixo} galão(ões) de 3.6 litros a um custo de R$ {valor_total}. Vão sobrar {sobra:.1f} litro(s) de tinta.') \ No newline at end of file +import math + + +def calcular_latas_e_preco_de_tinta(): + """Escreva aqui em baixo a sua solução""" + a_quadrada = float(input('Digite o valor da área para cálculo: ')) + a_folga = a_quadrada * 1.1 + li_pm = math.ceil(a_folga / 6) + lata_li = math.ceil(li_pm / 18) + galao_li = math.ceil(li_pm / 3.5) + preco_lata = lata_li * 80 + preco_galao = galao_li * 25 + sobra_lata = (lata_li * 18) - li_pm + sobra_galao = (galao_li * 3.6) - li_pm + resto = li_pm % 18 + latas_int = math.floor(li_pm / 18) + galao_resto = math.ceil(resto / 3.6) + la_ga = (latas_int * 80) + (galao_resto * 25) + res_tot = ((latas_int * 18) + (galao_resto * 3.6)) - li_pm + + print(f'Você deve comprar {li_pm} litros de tinta.') + print( + f'Você pode comprar {lata_li} lata(s) de 18 litros a um custo de R$ {preco_lata}. Vão sobrar {sobra_lata:.1f} litro(s) de tinta.') + print( + f'Você pode comprar {galao_li} lata(s) de 3.6 litros a um custo de R$ {preco_galao}. Vão sobrar {sobra_galao:.1f} litro(s) de tinta.') + print( + f'Para menor custo, você pode comprar {latas_int} lata(s) de 18 litros e {galao_resto} galão(ões) de 3.6 litros a um custo de R$ {la_ga:.0f}. Vão sobrar {res_tot:.1f} litro(s) de tinta.') \ No newline at end of file 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..4bcdc5feb 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""" + n1 = float(input('Escreva o primeiro número: ')) + n2 = float(input('Escreva o segundo número: ')) + if n1>n2 + print(f'{n1}') + else + print(f'{n2}') \ No newline at end of file From 8d62764f04ef16f4efa55f336c2e2083aa4e83d4 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Mon, 6 Jun 2022 14:29:15 -0300 Subject: [PATCH 29/47] =?UTF-8?q?exerc=C3=ADcios=201,=202,=203,=204,=205,?= =?UTF-8?q?=206,=207,=208,=209,=2010,=2011=20feitos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/launch.json | 10 ++++++- .../ex_03_imprima_soma_de_dois_numeros.py | 2 +- .../ex_01_imprimir_maior_numero.py | 11 ++++---- .../ex_02_positivo_ou_negativo.py | 6 +++++ secao_02_estrutura_de_decisao/ex_03_F_ou_M.py | 6 +++++ .../ex_04_vogal_ou_consoante.py | 7 +++++ .../ex_05_notas_parciais.py | 6 +++++ .../ex_06_maior_numero_de_3_numeros.py | 8 ++++++ ...ex_07_maior_e_menor_numero_de_3_numeros.py | 14 ++++++++++ .../ex_08_escolha_de_produto.py | 6 +++++ .../ex_09_numeros_decrescentes.py | 3 +++ .../ex_10_cumprimento_em_turno.py | 8 ++++++ .../ex_11_salario_tabajara.py | 27 +++++++++++++++++++ 13 files changed, 106 insertions(+), 8 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index e6c436a5e..07f12d2b6 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,9 +1,17 @@ { - // Use o IntelliSense para saber mais sobre os atributos possíveis. + // Use o IntelliSense para saber mais sobre os atributos possíveis..... // Focalizar para exibir as descrições dos atributos existentes. // Para obter mais informações, acesse: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ + { + "name": "Python: Arquivo Atual", + "type": "python", + "request": "launch", + "program": "${file}", + "console": "integratedTerminal", + "justMyCode": true + }, { "name": "Rodar Doctest", "type": "python", 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 ec0ac3142..a509f694d 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""" numero1 = int(input('Digite um número: ')) numero2 = int(input('Digite o segundo número: ')) - print (f'A soma dos números é: {numero1 + numero2}') \ No newline at end of file + print (f'A soma dos dois números informados é {numero1 + numero2}') \ No newline at end of file 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 4bcdc5feb..349211b44 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,9 +17,8 @@ def maior_de_dois_numeros(x, y): """Escreva aqui em baixo a sua solução""" - n1 = float(input('Escreva o primeiro número: ')) - n2 = float(input('Escreva o segundo número: ')) - if n1>n2 - print(f'{n1}') - else - print(f'{n2}') \ No newline at end of file + + if x>y: + print(f'{x}') + else : + print(f'{y}') 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 23501b91e..4a4da806a 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,9 @@ def positivo_ou_negativo(n): """Escreva aqui em baixo a sua solução""" + if n > 0: + print("'positivo'" ) + elif n == 0: + print("'não tem positivo nem negativo'" ) + else: + print("'negativo'" ) \ 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..1939cb2ba 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,9 @@ def f_ou_m(sexo): """Escreva aqui em baixo a sua solução""" + if sexo == 'M' : + print("'M - Masculino'") + elif sexo == 'F' : + print("'F - Feminino'") + else: + print("'Sexo inválido'") \ No newline at end of file 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..dd469523c 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,10 @@ def vogal_ou_consoante(letra): """Escreva aqui em baixo a sua solução""" + vogais = ('aeiou') + if letra.lower() in vogais: + print("'vogal'") + else: + print("'consoante'") + + 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..076bcfc2e 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,9 @@ def notas_parciais(nota_1, nota_2): """Escreva aqui em baixo a sua solução""" +n = input(float(f'Digite a primeira nota do aluno: ')) +n2 = input(float(f'Digite a segunda nota do aluno: ')) +if (n + n2) / 2 >= 7: + print(f'Aprovado') +else: + print(f'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..b279b0384 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,11 @@ def calcular_maior_de_3_numeros(x, y, z): """Escreva aqui em baixo a sua solução""" + + if x > y and x > z: + print(x) + elif y > x and 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..61d2a07c0 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,17 @@ def calcular_maior_de_3_numeros(x, y, z): """Escreva aqui em baixo a sua solução""" + maior=x + if y > x and y > z: + maior=y + elif z > x and z > y: + maior=z + + menor=x + if y < x and y < z: + menor=y + elif z < x and z < y: + menor=z + + print(f'Maior: {maior}') + print(f'Menor: {menor}') \ 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..0b9bee8d1 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,9 @@ def decidir_melhor_produto(x, y, z): """Escreva aqui em baixo a sua solução""" + menor=x + if y < x and y < z: + menor=y + elif z < x and z < y: + menor=z + print(f'Melhor produto custa R$ {menor:.2f}') 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..694971fff 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""" + reversen = [x, y, z] + reversen.sort (reverse=True) + print(f'{reversen [0]}, {reversen [1]}, {reversen [2]}') \ No newline at end of file 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..9d2beeef9 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.upper () == 'M': + print("'Bom dia!'") + elif turno.upper () == 'V': + print("'Boa tarde!'") + elif turno.upper () == 'N': + print("'Boa noite!'") + else: + print("'Valor Inválido!'") \ No newline at end of file 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..9aed1268a 100644 --- a/secao_02_estrutura_de_decisao/ex_11_salario_tabajara.py +++ b/secao_02_estrutura_de_decisao/ex_11_salario_tabajara.py @@ -39,5 +39,32 @@ """ +from re import S + + def calcular_aumento(salario: float): """Escreva aqui em baixo a sua solução""" + if salario <= 280.00: + print(f'Salário atual: R$ {salario:.2f}') + print('Aumento porcentual: 20%') + print(f'Valor do aumento: R$ {(salario * 1.2) - salario:.2f}') + print(f'Novo salário: R$ {salario *1.2:.2f}') + + elif salario <= 700.00: + print(f'Salário atual: R$ {salario:.2f}') + print('Aumento porcentual: 15%') + print(f'Valor do aumento: R$ {(salario * 1.15) - salario:.2f}') + print(f'Novo salário: R$ {salario *1.15:.2f}') + + elif salario <= 1500.00: + print(f'Salário atual: R$ {salario:.2f}') + print('Aumento porcentual: 10%') + print(f'Valor do aumento: R$ {(salario * 1.1) - salario:.2f}') + print(f'Novo salário: R$ {salario *1.1:.2f}') + + elif salario > 1500.00: + print(f'Salário atual: R$ {salario:.2f}') + print('Aumento porcentual: 5%') + print(f'Valor do aumento: R$ {(salario * 1.05) - salario:.2f}') + print(f'Novo salário: R$ {salario *1.05:.2f}') + \ No newline at end of file From 20894b53830c0771e40007baf9a62ddc7e8a3d4b Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Tue, 7 Jun 2022 13:53:56 -0300 Subject: [PATCH 30/47] =?UTF-8?q?Exerc=C3=ADcios=2012=20e=2013=20conclu?= =?UTF-8?q?=C3=ADdos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_12_clt_assalto.py | 88 +++++++++++++++++++ .../ex_13_dia_da_semana.py | 16 ++++ 2 files changed, 104 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..8204597c3 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,91 @@ def calcular_salario_liquido(valor_hora: float, horas_trabalhadas: int): """Escreva aqui em baixo a sua solução""" + + # primeiro calculo, onde o salário bruto é < 900 e o imposto de renda é = 0 OK + + # variáveis imutáveis + + salario_bruto = valor_hora * horas_trabalhadas + inss = (1.1 * salario_bruto) - salario_bruto + sindicato = (1.03 * salario_bruto) - salario_bruto + fgts = (1.11 * salario_bruto) - salario_bruto + + + # ----------------------- + + if salario_bruto <= 900: + + desconto_com_ir_isento = inss + sindicato + salario_liquido_sem_ir = salario_bruto - desconto_com_ir_isento + + print(f'Salário Bruto: (R$ {valor_hora:.2f} * {horas_trabalhadas}) : R$ {salario_bruto:.2f}') + print(f'(-) IR (0%) : R$ 0.00') + print(f'(-) INSS (10%) : R$ {inss:.2f}') + print(f'(-) Sindicato (3%) : R$ {sindicato:.2f}') + print(f'FGTS (11%) : R$ {fgts:.2f}') + print(f'Total de descontos : R$ {desconto_com_ir_isento:.2f}') + print(f'Salário Liquido : R$ {salario_liquido_sem_ir:.2f}') + + # segundo calculo OK + + elif salario_bruto > 900 and salario_bruto <= 1500: + + ir_5 = (1.05 * salario_bruto) - salario_bruto + descontos1 = inss + sindicato + ir_5 + salario_liquido1 = salario_bruto - descontos1 + + print(f'Salário Bruto: (R$ {valor_hora:.2f} * {horas_trabalhadas}) : R$ {salario_bruto:.2f}') + print(f'(-) IR (5%) : R$ {ir_5:.2f}') + print(f'(-) INSS (10%) : R$ {inss:.2f}') + print(f'(-) Sindicato (3%) : R$ {sindicato:.2f}') + print(f'FGTS (11%) : R$ {fgts:.2f}') + print(f'Total de descontos : R$ {descontos1:.2f}') + print(f'Salário Liquido : R$ {salario_liquido1:.2f}') + + # teceiro calculo + + elif salario_bruto > 1500 and salario_bruto <= 2500: + + ir_10 = (1.1 * salario_bruto) - salario_bruto + descontos2 = inss + sindicato + ir_10 + salario_liquido2 = salario_bruto - descontos2 + + print(f'Salário Bruto: (R$ {valor_hora:.2f} * {horas_trabalhadas}) : R$ {salario_bruto:.2f}') + print(f'(-) IR (10%) : R$ {ir_10:.2f}') + # VER PQ O CALCULO DO TERCEIRO TA DANDO KAO AQUI + print(f'(-) INSS (10%) : R$ {inss:.2f}') + print(f'(-) Sindicato (3%) : R$ {sindicato:.2f}') + print(f'FGTS (11%) : R$ {fgts:.2f}') + print(f'Total de descontos : R$ {descontos2:.2f}') + print(f'Salário Liquido : R$ {salario_liquido2:.2f}') + + # quarto calculo + + elif salario_bruto > 2500: + + ir_20 = (1.2 * salario_bruto) - salario_bruto + descontos3 = inss + sindicato + ir_20 + salario_liquido3 = salario_bruto - descontos3 + + print(f'Salário Bruto: (R$ {valor_hora:.2f} * {horas_trabalhadas}) : R$ {salario_bruto:.2f}') + print(f'(-) IR (20%) : R$ {ir_20:.2f}') + print(f'(-) INSS (10%) : R$ {inss:.2f}') + print(f'(-) Sindicato (3%) : R$ {sindicato:.2f}') + print(f'FGTS (11%) : R$ {fgts:.2f}') + print(f'Total de descontos : R$ {descontos3:.2f}') + print(f'Salário Liquido : R$ {salario_liquido3:.2f}') + + # fim do código ... + + + + + + + + + + + + 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..62bcaf4ea 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'") \ No newline at end of file From c67e6322c9f8dee137b7716b57538f4dab636906 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Tue, 7 Jun 2022 15:34:43 -0300 Subject: [PATCH 31/47] =?UTF-8?q?Exerc=C3=ADcios=2014=20e=2015=20conclu?= =?UTF-8?q?=C3=ADdos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_14_atribuicoes_de_conceitos.py | 39 +++++++++++++++++++ .../ex_15_triangulo.py | 11 ++++++ 2 files changed, 50 insertions(+) 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..f0b10718c 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,42 @@ def calcular_conceito(nota_1: float, nota_2: float): """Escreva aqui em baixo a sua solução""" + + media = (nota_1 + nota_2) / 2 + +# Entre 9.0 e 10.0 A + # Entre 7.5 e 9.0 B + # Entre 6.0 e 7.5 C + # Entre 4.0 e 6.0 D + # Entre 4.0 e zero E + + if media >= 9.0: + print(f'Notas: {nota_1:.1f} e {nota_2:.1f}.') + print(f'Média: {media:.1f}') + print(f'Conceito: A') + print(f'Status: APROVADO') + + elif media >= 7.5 and media < 9.0: + print(f'Notas: {nota_1:.1f} e {nota_2:.1f}.') + print(f'Média: {media:.1f}') + print(f'Conceito: B') + print(f'Status: APROVADO') + + elif media >= 6.0 and media < 7.5 : + print(f'Notas: {nota_1:.1f} e {nota_2:.1f}.') + print(f'Média: {media:.1f}') + print(f'Conceito: C') + print(f'Status: APROVADO') + + elif media >= 4.0 and media < 6.0 : + print(f'Notas: {nota_1:.1f} e {nota_2:.1f}.') + print(f'Média: {media:.1f}') + print(f'Conceito: D') + print(f'Status: REPROVADO') + + elif media >= 0 and media < 4.0: + print(f'Notas: {nota_1:.1f} e {nota_2:.1f}.') + print(f'Média: {media:.1f}') + print(f'Conceito: E') + print(f'Status: REPROVADO') + diff --git a/secao_02_estrutura_de_decisao/ex_15_triangulo.py b/secao_02_estrutura_de_decisao/ex_15_triangulo.py index 8b6ea5927..65dd1a2c3 100644 --- a/secao_02_estrutura_de_decisao/ex_15_triangulo.py +++ b/secao_02_estrutura_de_decisao/ex_15_triangulo.py @@ -27,3 +27,14 @@ 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 and lado_b + lado_c >= lado_a and lado_a + lado_c >= lado_b: + + if lado_a == lado_b and lado_a == lado_c: + print("'Triângulo Equilátero'") + elif lado_a == lado_b or lado_a == lado_c or lado_b == lado_c: + print("'Triângulo Isósceles'") + else: + print("'Triângulo Escaleno'") + else: + print("'Não é um triângulo'") \ No newline at end of file From 1962a6969620415eb3251ee9dbe7e675e78bd280 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Tue, 7 Jun 2022 18:59:43 -0300 Subject: [PATCH 32/47] =?UTF-8?q?exerc=C3=ADcios=2016=20ao=2023=20completo?= =?UTF-8?q?s,=20com=20exce=C3=A7=C3=A3o=20do=2019=20e=2021?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_16_equacao_segundo_grau.py | 31 +++++++++++++ .../ex_17_ano_bissexto.py | 7 ++- .../ex_18_validador_de_data.py | 44 ++++++++++++++++++- .../ex_20_3_notas_parciais.py | 8 ++++ .../ex_22_par_ou_impar.py | 3 ++ .../ex_23_inteiro_ou_decimal.py | 6 ++- 6 files changed, 96 insertions(+), 3 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 f3ae3dcde..81c45780c 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,36 @@ """ +import math + + def resolver_equacao_do_segundo_grau(a: float, b: float, c: float): """Escreva aqui em baixo a sua solução""" + # primeiro teste: + if a == 0: + return 'Valor do coeficiente a deve ser diferente de 0' + # ----------------- + + delta = (b**2) - 4 * a * c + if delta < 0: + return f'Delta negativo ({delta}), por isso não existem raízes reais' + + # terceirao + + if delta == 0: + raiz = - b / 2 * a + + return f'Delta é 0, raíz única no valor de {raiz:.1f}' + + # quarteto + + if delta > 0: + raiz1 = ( -b + math.sqrt(delta) ) / 2 * a + raiz2 = ( -b - math.sqrt(delta) ) / 2 * a + print (f"'Delta é {delta}, raízes são {raiz1:.1f} e {raiz2:.1f}'") + + # se delta é negativo\: + #valor de delta: delta = b**2 - 4*a*c + #raiz (ou, solucao, no caso) da equacao: (-b - math.sqrt(delta))/2*a + #são duas soluçoes, 2° solucao (-b + math.sqrt(delta))/2 * a + \ No newline at end of file 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..967a405c5 100644 --- a/secao_02_estrutura_de_decisao/ex_17_ano_bissexto.py +++ b/secao_02_estrutura_de_decisao/ex_17_ano_bissexto.py @@ -16,7 +16,12 @@ False """ - +import calendar def eh_ano_bissexto(ano: int): """Escreva aqui em baixo a sua solução""" + + if calendar.isleap(ano): + print('True') + else: + print('False') \ No newline at end of file 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..a4174e966 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 @@ -21,6 +21,48 @@ """ - def validar_data(data: str): """Escreva aqui em baixo a sua solução""" + if len(data) >= 8: + day, month, year = data.split('/') + day = int(day.lstrip('0')) + month = int(month.lstrip('0')) + year = int(year) + if day in range(1, 29) and month in range(1, 12) and year in range(1, 9999): + return 'Data válida' + return 'Data inválida' + return 'Data inválida' + + + + + # if month > 12: + # return f'Data inválida' + # if year > 9999 and year < 0000: + # return f'Data inválida' + # else: + # return f'Data inválida' + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file 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..7511b66ce 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: + return 'Aprovado com Distinção' + elif media >= 7: + return 'Aprovado' + else: + return 'Reprovado' \ No newline at end of file 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..efb374049 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,6 @@ def decidir_se_eh_par_ou_impar(valor: int) -> str: """Escreva aqui em baixo a sua solução""" + if valor % 2 == 0: + return 'Par' + 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..00850da5d 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 @@ -18,7 +18,11 @@ >>> decidir_se_eh_inteiro_ou_decimal('3.1415') 'Decimal' """ - +import math def decidir_se_eh_inteiro_ou_decimal(valor: str) -> str: """Escreva aqui em baixo a sua solução""" + if math.floor(float(valor)) == float(valor): + return 'Inteiro' + else: + return 'Decimal' \ No newline at end of file From bf4b4b7d15c6d5c651c2ee7cbf62417ee206fe63 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Thu, 9 Jun 2022 23:46:24 -0300 Subject: [PATCH 33/47] =?UTF-8?q?se=C3=A7=C3=A3o=20dois=20completa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_19_decomposicao_de_numero.py | 25 +- secao_02_estrutura_de_decisao/ex_21_troco.py | 220 ++++++++++++++++++ .../ex_24_operacao.py | 42 +++- .../ex_25_sherlock.py | 12 +- .../ex_26_posto_de_gasolina.py | 11 + .../ex_27_hortifruti.py | 40 ++++ .../ex_28_mercado_tabajara.py | 20 ++ 7 files changed, 367 insertions(+), 3 deletions(-) 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..f3f0af2c2 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 @@ -6,7 +6,7 @@ mesmo. Observando os termos no plural a colocação do "e", da vírgula entre outros. Exemplo: 326 = 3 centenas, 2 dezenas e 6 unidades -12 = 1 dezena e 2 unidades Testar com: 326, 300, 100, 320, 310,305, 301, 101, 311, 111, 25, 20, 10, 21, 11, 1, 7 e 16 +12 = 1 dezena e 2 unidades Testar com: 326, 300, 100, 320, 310,305,' 301, 101, 311, 111, 25, 20, 10, 21, 11, 1, 7 e 16 >>> decompor_numero(1000) 'O número precisa ser menor que 1000' @@ -52,3 +52,26 @@ def decompor_numero(numero: int): """Escreva aqui em baixo a sua solução""" + + #mais de mil e menos de zero + + if (numero) >= 1000: + print("'O número precisa ser menor que 1000'") + return + elif (numero) < 0: + print ("'O número precisa ser positivo'") + return + + centena = (numero//100) + dezena = (numero - (centena*100))//10 + unidade = (numero-(centena*100)-(dezena*10)) + print("'", end='') + print(f'{numero} = ', end='') + + if(centena): + print(f'{centena} centena{"s" if centena>1 else ""}{(", " if unidade else " e ") if dezena else (" e " if unidade else "")}', end='') + if(dezena): + print(f'{dezena} dezena{"s" if dezena>1 else ""}{" e " if unidade else ""}', end='') + if(unidade): + print (f'{unidade} unidade{"s" if unidade>1 else ""}', end='') + print("'") \ No newline at end of file diff --git a/secao_02_estrutura_de_decisao/ex_21_troco.py b/secao_02_estrutura_de_decisao/ex_21_troco.py index de0d2a95e..b2d515ae6 100644 --- a/secao_02_estrutura_de_decisao/ex_21_troco.py +++ b/secao_02_estrutura_de_decisao/ex_21_troco.py @@ -27,3 +27,223 @@ def calcular_troco(valor: int) -> str: """Escreva aqui em baixo a sua solução""" + + # notas_de_100_str = notas_de_50_str = notas_de_10_str = notas_de_5_str = notas_de_1_str = ' ' + # notas_de_100 = notas_de_50 = notas_de_10 = notas_de_5 = notas_de_1 = 0 + # notas_de_100, valor = divmod(valor, 100) + # notas_de_50, valor = divmod(valor, 50) + # notas_de_10, valor = divmod(valor, 10) + # notas_de_5, valor = divmod(valor, 5) + # notas_de_1, valor = divmod(valor, 1) + + # partes_numericas = 0 + # # print("'", end='') + + # if notas_de_100 == 1: + # notas_de_100_str == '1 nota de R$ 100' + # # print(f'{notas_de_100} {notas_de_100_str} ', end='') + # partes_numericas += 1 + # elif notas_de_100 > 1: + # notas_de_100_str == f'{notas_de_100} notas de R$ 100' + # # print(f'{notas_de_100} notas de R$ 100 ', end='') + # partes_numericas += 1 + + + + # if notas_de_50 == 1: + # notas_de_50_str == '1 nota de R$ 50' + # # print(f'{notas_de_50} nota de R$ 50, ', end='') + # partes_numericas += 1 + # elif notas_de_50 > 1: + # notas_de_50_str == f'{notas_de_50} notas de R$ 50' + # # print(f'{notas_de_50} notas de R$ 50, ', end='') + # partes_numericas += 1 + + + # if notas_de_10 == 1: + # notas_de_10_str == '1 nota de R$ 10' + # # print(f'{notas_de_10} nota de R$ 10, ', end='') + # partes_numericas += 1 + # elif notas_de_10 > 1: + # notas_de_10_str == 'f{notas_de_10} notas de R$ 10' + # # print(f'{notas_de_10} notas de R$ 10, ', end='') + # partes_numericas += 1 + + + # if notas_de_5 == 1: + # notas_de_5_str == '1 nota de R$ 5' + # # print(f'{notas_de_5} nota de R$ 5, ', end='') + # partes_numericas += 1 + # elif notas_de_5 > 1: + # notas_de_5_str == f'{notas_de_5} notas de R$ 1' + # # print(f'{notas_de_5} notas de R$ 1, ', end='') + # partes_numericas += 1 + + + # if notas_de_1 == 1: + # notas_de_1_str == '1 notas de R$ 1' + # # print(f'{notas_de_1} nota de R$ 1', end='') + # partes_numericas += 1 + # elif notas_de_1 > 1: + # notas_de_1_str == f'{notas_de_1} notas de R$ 1' + # # print(f'{notas_de_1} notas de R$ 1', end='') + # partes_numericas += 1 + + + # if partes_numericas == 1: + # if notas_de_100_str != ' ': + # print(f"'{notas_de_100_str}'") + # elif notas_de_50_str != ' ': + # print(f"'{notas_de_50_str}'") + # elif notas_de_10_str != ' ': + # print(f"'{notas_de_10_str}'") + # elif notas_de_5_str != ' ': + # print(f"'{notas_de_5_str}'") + # elif notas_de_1_str != ' ': + # print(f"'{notas_de_1_str}'") + # elif partes_numericas == 5: + # print(f"'{notas_de_100_str}, {notas_de_50_str}, {notas_de_10_str}, {notas_de_5_str} e {notas_de_1_str}'") + + # elif partes_numericas == 2: + # if notas_de_10_str != ' ' and notas_de_1_str != ' ': + # print(f"'{notas_de_10_str} e {notas_de_1_str}'") + + # elif partes_numericas == 4: + # print(f"'{notas_de_100_str}, {notas_de_50_str}, {notas_de_5_str} e {notas_de_1_str}'") + + + # notas_de_100_str = notas_de_50_str = notas_de_10_str = notas_de_5_str = notas_de_1_str = ' ' + + + # saque = valor + notas_100 = notas_50 = notas_10 = nota_5 = nota_1 = 0 + notas_100, valor = divmod(valor,100) + notas_50, valor = divmod(valor,50) + notas_10, valor = divmod(valor,10) + nota_5, valor = divmod(valor,5) + nota_1, valor = divmod(valor,1) + parte = 0 + print("""'""",end="") + + if notas_100 == 1: + print(f"""{notas_100} nota de R$ 100""",end="") + parte += 1 + elif notas_100 > 1: + print(f"""{notas_100} notas de R$ 100""",end="") + parte += 1 + + + if notas_50 != 0 and parte == 1: + print(",",end=" ") + if notas_50 == 1: + print(f"""{notas_50} nota de R$ 50""",end="") + parte += 1 + elif notas_50 > 1: + print(f"""{notas_50} notas de R$ 50""",end="") + parte += 1 + + + if parte != 0 and notas_10 != 0: + print(",",end=" ") + if notas_10 == 1: + print(f"""{notas_10} nota de R$ 10""",end="") + parte += 1 + elif notas_10 > 1: + print(f"""{notas_10} notas de R$ 10""",end="") + parte += 1 + + # notas de 5 + + if parte != 0 and nota_5 != 0: + print(",",end=" ") + if nota_5 == 1: + print(f"""{nota_5} nota de R$ 5""",end="") + parte += 1 + elif nota_5 > 1: + print(f"""{nota_5} notas de R$ 5""",end="") + parte += 1 + + # notas de 1 + + if parte != 0 and nota_1 != 0: + print(" e",end=" ") + if nota_1 == 1: + print(f"""{nota_1} nota de R$ 1""",end="") + elif notas_10 > 1: + print(f"""{nota_1} notas de R$ 1""",end="") + print("""'""") + +# def calcular_troco(valor: int) -> str: +# """Escreva aqui em baixo a sua solução""" + +# valor = valor +# cem_str = cinquenta_str = dez_str = cinco_str = um_str = ' ' +# partes_numericas = 0 +# if saque <= 600: +# cem, numero_sobrando = divmod(saque, 100) +# if cem == 1: +# cem_str = '1 nota de R$ 100' +# partes_numericas += 1 +# elif cem > 1: +# cem_str = f'{cem} notas de R$ 100' +# partes_numericas += 1 + + +# #Atualiza o número que sobra + +# cinquenta, numero_sobrando = divmod(numero_sobrando, 50) +# if cinquenta == 1: +# cinquenta_str = '1 nota de R$ 50' +# partes_numericas += 1 +# elif cinquenta > 1: +# cinquenta_str = f'{cinquenta} notas de R$ 50' +# partes_numericas += 1 + +# #Atualiza o número que sobra + +# dez, numero_sobrando = divmod(numero_sobrando, 10) +# if dez == 1: +# dez_str = '1 nota de R$ 10' +# partes_numericas += 1 +# elif dez > 1: +# dez_str = f'{dez} notas de R$ 10' +# partes_numericas += 1 + +# cinco, numero_sobrando = divmod(numero_sobrando, 5) +# if cinco == 1: +# cinco_str = '1 nota de R$ 5' +# partes_numericas += 1 +# elif cinco > 1: +# cinco_str = f'{cinco} notas de R$ 5' +# partes_numericas += 1 + +# #Atualiza o número que sobra + +# if numero_sobrando == 1: +# um_str = '1 nota de R$ 1' +# partes_numericas += 1 +# elif numero_sobrando > 1: +# um_str = f'{numero_sobrando} notas de R$ 1' +# partes_numericas += 1 + + +# if partes_numericas == 1: +# if cem_str != ' ': +# print(f"'{cem_str}'") +# elif cinquenta_str != ' ': +# print(f"'{cinquenta_str}'") +# elif dez_str != ' ': +# print(f"'{dez_str}'") +# elif cinco_str != ' ': +# print(f"'{cinco_str}'") +# elif um_str != ' ': +# print(f"'{um_str}'") +# elif partes_numericas == 5: +# print(f"'{cem_str}, {cinquenta_str}, {dez_str}, {cinco_str} e {um_str}'") + +# elif partes_numericas == 2: +# if dez_str != ' ' and um_str != ' ': +# print(f"'{dez_str} e {um_str}'") + +# elif partes_numericas == 4: +# print(f"'{cem_str}, {cinquenta_str}, {cinco_str} e {um_str}'") \ 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..27b054906 100644 --- a/secao_02_estrutura_de_decisao/ex_24_operacao.py +++ b/secao_02_estrutura_de_decisao/ex_24_operacao.py @@ -7,7 +7,7 @@ par ou ímpar; positivo ou negativo; inteiro ou decimal. - + Mostre o restultado com duas casas decimais >>> fazer_operacao_e_classificar(2, 3, '+') @@ -31,3 +31,43 @@ def fazer_operacao_e_classificar(n_1: float, n_2: float, operacao: str): """Escreva aqui em baixo a sua solução""" + if operacao == '+': + resultado = n_1 + n_2 + print (f'Resultado: {resultado:.2f}') + + if operacao == '-': + resultado = n_1 - n_2 + print (f'Resultado: {resultado:.2f}') + + if operacao == '*': + resultado = n_1 * n_2 + print (f'Resultado: {resultado:.2f}') + + if operacao == '/': + resultado = n_1 / n_2 + print (f'Resultado: {resultado:.2f}') + + if resultado % 2 == 0: + par_impar = 'par' + else: + par_impar = 'impar' + + if resultado > 0: + positivo_negativo = 'positivo' + elif resultado == 0: + positivo_negativo = 'neutro' + else: + positivo_negativo = 'negativo' + + if resultado % 1 == 0: + inteiro_decimal = 'inteiro' + print(f'Número é {par_impar}, {positivo_negativo} e {inteiro_decimal}.') + else: + inteiro_decimal = 'decimal' + print(f'Número é {positivo_negativo} e {inteiro_decimal}.') + + + + + + \ No newline at end of file diff --git a/secao_02_estrutura_de_decisao/ex_25_sherlock.py b/secao_02_estrutura_de_decisao/ex_25_sherlock.py index 6fccc6995..d8a97642e 100644 --- a/secao_02_estrutura_de_decisao/ex_25_sherlock.py +++ b/secao_02_estrutura_de_decisao/ex_25_sherlock.py @@ -29,7 +29,17 @@ 'Inocente' """ - +from itertools import count def investivar(telefonou: str, estava_no_local: str, mora_perto: str, devia: str, trabalhou: str, ): """Escreva aqui em baixo a sua solução""" + pergunta = [telefonou, estava_no_local, mora_perto, devia, trabalhou] + resposta = pergunta.count('Sim') + if resposta == 2: + print("'Suspeito'") + elif resposta == 3 or resposta == 4: + print("'Cúmplice'") + elif resposta == 5: + print("'Assassino'") + else: + print("'Inocente'") \ 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..1a8ec6f37 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,14 @@ def calcular_abastecimento(litros_de_combustivel: float, tipo_de_combustivel: str) -> str: """Escreva aqui em baixo a sua solução""" + if litros_de_combustivel <= 20 and tipo_de_combustivel == 'A': + print(f"'{litros_de_combustivel} litro(s) de álcool custa(m): R$ {(1.9 * litros_de_combustivel):.2f}. Com 3% de desconto, fica R$ {(((1.9 * litros_de_combustivel * 2)) - ((1.9 * litros_de_combustivel)* 1.03)):.2f}'") + elif litros_de_combustivel > 20 and tipo_de_combustivel == 'A': + print(f"'{litros_de_combustivel} litro(s) de álcool custa(m): R$ {(1.9 * litros_de_combustivel):.2f}. Com 5% de desconto, fica R$ {(((1.9 * litros_de_combustivel * 2)) - ((1.9 * litros_de_combustivel)* 1.05)):.2f}'") + + elif litros_de_combustivel <= 20 and tipo_de_combustivel == 'G': + print(f"'{litros_de_combustivel} litro(s) de gasolina custa(m): R$ {(2.5 * litros_de_combustivel):.2f}. Com 4% de desconto, fica R$ {(((2.5 * litros_de_combustivel * 2)) - ((2.5 * litros_de_combustivel)* 1.04)):.2f}'") + + elif litros_de_combustivel > 20 and tipo_de_combustivel == 'G': + print(f"'{litros_de_combustivel} litro(s) de gasolina custa(m): R$ {(2.5 * litros_de_combustivel):.2f}. Com 6% de desconto, fica R$ {(((2.5 * litros_de_combustivel * 2)) - ((2.5 * litros_de_combustivel)* 1.06)):.2f}'") + diff --git a/secao_02_estrutura_de_decisao/ex_27_hortifruti.py b/secao_02_estrutura_de_decisao/ex_27_hortifruti.py index 2e468a508..520d5e5a3 100644 --- a/secao_02_estrutura_de_decisao/ex_27_hortifruti.py +++ b/secao_02_estrutura_de_decisao/ex_27_hortifruti.py @@ -57,5 +57,45 @@ """ +from this import d + + def calcular_preco_da_compra(kilos_de_morango: int, kilos_de_maca: int): """Escreva aqui em baixo a sua solução""" + # >>> calcular_preco_da_compra(2, 0) + # (+) Morango - valor: R$ 5.00 - quantidade: 2 kg - preço: R$ 2.50/kg + # (-) Desconto - valor: R$ 0.00 + # Valor Total: R$ 5.00 + + preco_morango = 2.20 + preco_maca = 1.50 + desconto = 0.00 + + if kilos_de_morango <= 5: + preco_morango = 2.50 + if kilos_de_maca <= 5: + preco_maca = 1.80 + + preco_total_frutas = (preco_maca * kilos_de_maca) + (preco_morango * kilos_de_morango) + kilo_total_frutas = kilos_de_maca + kilos_de_morango + + + + if kilo_total_frutas > 8 or preco_total_frutas > 25: + desconto = 0.10 + + preco_desconto = preco_total_frutas * desconto + + if kilos_de_morango > 0: + print(f'(+) Morango - valor: R$ {preco_morango * kilos_de_morango:>5.2f} - quantidade: {kilos_de_morango} kg - preço: R$ {preco_morango:.2f}/kg') + if kilos_de_maca > 0: + print(f'(+) Maça - valor: R$ {preco_maca * kilos_de_maca:>5.2f} - quantidade: {kilos_de_maca} kg - preço: R$ {preco_maca:.2f}/kg') + + + print(f'(-) Desconto - valor: R$ {preco_desconto:>5.2f}') + + print(f' Valor Total: R$ {preco_total_frutas - preco_desconto:>5.2f}') + + + + \ No newline at end of file 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..0269571ca 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,23 @@ 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 kilos_de_carne <= 5: + preco_carne = { + 'Filé Duplo': 4.90, + 'Alcatra': 5.90, + 'Picanha': 6.90 + } + else: + preco_carne = { + 'Filé Duplo': 5.80, + 'Alcatra': 6.80, + 'Picanha': 7.80 + } + + preco_total = kilos_de_carne * preco_carne[tipo_de_carne] + if forma_de_pagamento == 'cartão tabajara': + preco_total_com_desconto = preco_total - (preco_total * 0.05) + print(f"'{kilos_de_carne} kg de {tipo_de_carne} a R$ {preco_carne[tipo_de_carne]:.2f}/kg saem a R$ {preco_total:.2f}. Com desconto de 5% pelo pagamento feito com cartão tabajara, fica R$ {preco_total_com_desconto:.2f}'") + else: + print(f"'{kilos_de_carne} kg de {tipo_de_carne} a R$ {preco_carne[tipo_de_carne]:.2f}/kg saem a R$ {preco_total:.2f}. Não há desconto, pagamento feito com {forma_de_pagamento}'") \ No newline at end of file From 8b5a0f5e35116724eb7184bb7a685331c373ee16 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Tue, 14 Jun 2022 11:10:29 -0300 Subject: [PATCH 34/47] =?UTF-8?q?lista=203,=20exerc=C3=ADcios=2001=20ao=20?= =?UTF-8?q?03=20conclu=C3=ADdos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lista-de-exercicios-python-brasil | 1 + .../ex_01_numero_valido.py | 13 +++++++++++ .../ex_02_validador_de_senha.py | 11 ++++++++++ .../ex_03_validador_de_cadastro.py | 22 +++++++++++++++++++ 4 files changed, 47 insertions(+) create mode 160000 lista-de-exercicios-python-brasil diff --git a/lista-de-exercicios-python-brasil b/lista-de-exercicios-python-brasil new file mode 160000 index 000000000..938677f43 --- /dev/null +++ b/lista-de-exercicios-python-brasil @@ -0,0 +1 @@ +Subproject commit 938677f43ed7bbace55763965e427622852aa8e8 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..2e0a32da4 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,16 @@ def obter_numero_valido(): """Escreva aqui em baixo a sua solução""" + while (True): + nota = input("Digite uma nota entre 0 e 10: ") + if not nota.isdigit() or (int(nota) < 0 or int(nota) > 10): + print(f"Número inválido: {nota}") + else: + break + + print(nota) + + + + + \ 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..f0ce5d59e 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,14 @@ def validar_senha(): """Escreva aqui em baixo a sua solução""" + + while(True): + usuario=(input("Digite o nome de usuário: ")) + senha=(input("Digite a senha de usuário: ")) + + if usuario == senha: + print('Senha deve ser diferente do login') + else: + break + + print(f"'Cadastro realizado com suceso, seu login é {usuario}'") \ No newline at end of file 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..9c2d35b8b 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,25 @@ def cadastrar_usuario(nome: str, idade: int, salario: float, sexo: str, estado_civil: str): """Escreva aqui em baixo a sua solução""" + erros = [] + + if len(nome) < 3: + erros.append(f"Erro: o nome precisa ter 3 letras ou mais, não pode ser {nome}") + + if idade < 0 or idade > 150: + erros.append(f"Erro: a idade precisa estar entre 0 e 150, não pode ser {idade}") + + if salario <= 0: + erros.append(f"Erro: o salário precisa ser positivo, não pode ser {salario}") + + if not sexo in ["m", "f"]: + erros.append(f'Erro: o sexo precisa ser "m" ou "f", não pode ser "{sexo}"') + + if not estado_civil in ["s", "c", "v", "d"]: + erros.append(f'Erro: o estado civil precisa ser "s", "c", "v" ou "d", não pode ser "{estado_civil}"') + + if not erros: + print("Cadastro realizado com sucesso") + + for erro in erros: + print(erro) \ No newline at end of file From 197c92d1fa5234884941a0290eea35ff73a42d39 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Tue, 14 Jun 2022 16:10:28 -0300 Subject: [PATCH 35/47] =?UTF-8?q?exerc=C3=ADcio=2004=20lista=2003=20conclu?= =?UTF-8?q?=C3=ADdo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_03_validador_de_cadastro.py | 2 +- .../ex_04_crescimento_populacional.py | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) 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 9c2d35b8b..d7e44334a 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 @@ -49,7 +49,7 @@ def cadastrar_usuario(nome: str, idade: int, salario: float, sexo: str, estado_c erros.append(f"Erro: a idade precisa estar entre 0 e 150, não pode ser {idade}") if salario <= 0: - erros.append(f"Erro: o salário precisa ser positivo, não pode ser {salario}") + erros.append(f"Erro: o salário precisa ser positivo, não pode ser {salario}") if not sexo in ["m", "f"]: erros.append(f'Erro: o sexo precisa ser "m" ou "f", não pode ser "{sexo}"') 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..15fd6dacc 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,20 @@ def calcular_ano_ultrapassagem_populacional() -> str: """Escreva aqui em baixo a sua solução""" + anus = 0 + pais_a = 80000 + pais_b = 200000 + + porcentos_a = 0.03 + porcentos_b = 0.015 + + + while pais_a < pais_b: + crescimento_a = pais_a * porcentos_a + crescimento_b = pais_b * porcentos_b + pais_a += crescimento_a + pais_b += crescimento_b + anus += 1 + + print(f"'População de A, depois de {anus} ano(s) será de {pais_a:.0f} pessoas, superando a de B, que será de {pais_b:.0f} pessoas'") + \ No newline at end of file From f4a06eb0e6203168283ebec035d8b4955f283ebe Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Wed, 15 Jun 2022 09:26:10 -0300 Subject: [PATCH 36/47] =?UTF-8?q?exerc=C3=ADcios=2005=20e=2006=20conclu?= =?UTF-8?q?=C3=ADdos=20-=20lista=203?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_04_crescimento_populacional.py | 6 ++-- ...crescimento_populacional_parametrizavel.py | 14 +++++++++ .../ex_06_numeros_1_a_20.py | 29 +++++++++++++++++++ 3 files changed, 46 insertions(+), 3 deletions(-) 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 15fd6dacc..3e191f282 100644 --- a/secao_03_estrutura_de_repeticao/ex_04_crescimento_populacional.py +++ b/secao_03_estrutura_de_repeticao/ex_04_crescimento_populacional.py @@ -16,7 +16,7 @@ def calcular_ano_ultrapassagem_populacional() -> str: """Escreva aqui em baixo a sua solução""" - anus = 0 + anos = 0 pais_a = 80000 pais_b = 200000 @@ -29,7 +29,7 @@ def calcular_ano_ultrapassagem_populacional() -> str: crescimento_b = pais_b * porcentos_b pais_a += crescimento_a pais_b += crescimento_b - anus += 1 + anos += 1 - print(f"'População de A, depois de {anus} ano(s) será de {pais_a:.0f} pessoas, superando a de B, que será de {pais_b:.0f} pessoas'") + print(f"'População de A, depois de {anos} ano(s) será de {pais_a:.0f} pessoas, superando a de B, que será de {pais_b:.0f} pessoas'") \ No newline at end of file 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..15d028760 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,17 @@ 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""" + + if taxa_crescimento_populacao_menor < taxa_crescimento_populacao_maior: + return f'A taxa de crescimento do país B ({taxa_crescimento_populacao_maior * 100}%) deve ser menor do que a do país A ({taxa_crescimento_populacao_menor * 100}%)' + + anos = 0 + + while populacao_menor < populacao_maior: + crescimento_a = populacao_menor * taxa_crescimento_populacao_menor + crescimento_b = populacao_maior * taxa_crescimento_populacao_maior + populacao_menor += crescimento_a + populacao_maior += crescimento_b + anos += 1 + + print(f"'População de A, depois de {anos} ano(s) será de {populacao_menor:.0f} pessoas, superando a de B, que será de {populacao_maior:.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..70dafbc54 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,32 @@ def escrever_numeros_de_1_a_20(formato:str) -> str: """Escreva aqui em baixo a sua solução""" + # lista = list(range(1,21)) + # print(formato) + + + if formato == 'um_abaixo_do_outro': + numero = 1 + while numero <= 20: + print(numero) + numero += 1 + else: + numero = 1 + while numero < 20: + print(numero, end=' ') + numero += 1 + if numero == 20: + print(numero, end='') + + + + + + + + + + + + + From 4d3fae0022712c65d184870b124ee0e852a33b65 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Fri, 17 Jun 2022 13:46:34 -0300 Subject: [PATCH 37/47] =?UTF-8?q?exerc=C3=ADcios=2007=20e=2008da=20lista?= =?UTF-8?q?=203=20conclu=C3=ADdos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_07_maior_de_5_numeros.py | 11 +++++++++++ .../ex_08_soma_e_media_de_5_numeros.py | 4 ++++ .../ex_09_numeros_impares_de_1_a_50.py | 8 ++++++++ 3 files changed, 23 insertions(+) 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 index 3fc410ab3..c26192312 100644 --- 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 @@ -13,3 +13,14 @@ def calcular_maior_numero(n1: int, n2: int, n3: int, n4: int, n5: int, ) -> int: """Escreva aqui em baixo a sua solução""" + lista = (n1, n2, n3, n4, n5) + maior = -100 + + for n in lista: + if n > maior: + maior = n + print(maior) + + + + \ No newline at end of file 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 86b169bb6..400ae3b6d 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 @@ -16,3 +16,7 @@ def calcular_soma_e_media(n1: int, n2: int, n3: int, n4: int, n5: int) -> str: """Escreva aqui em baixo a sua solução""" + soma = n1 + n2 + n3 + n4 + n5 + media = soma / 5 + print(f"'Soma: {soma:.0f}, Média: {media:.2f}'") + \ No newline at end of file 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 b8a480990..7fd76f1d8 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 @@ -12,3 +12,11 @@ def calcular_numeros_impares_de_1_a_50() -> str: """Escreva aqui em baixo a sua solução""" + n = 0 + total = 50 + while total: + if n / 2: + None + else: + + print(n) From 69845a99c682d106ece320baae61b938c96d027e Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Fri, 17 Jun 2022 14:27:52 -0300 Subject: [PATCH 38/47] =?UTF-8?q?exerc=C3=ADcio=209=20lista=203=20completo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_09_numeros_impares_de_1_a_50.py | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 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 7fd76f1d8..65b3aad66 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 @@ -12,11 +12,17 @@ def calcular_numeros_impares_de_1_a_50() -> str: """Escreva aqui em baixo a sua solução""" - n = 0 - total = 50 - while total: - if n / 2: - None - else: - - print(n) + numero = 1 + while numero <= 47 and numero %2 != 0: + if numero == 1: + print(f"'", end='') + print(f"{numero},", end=' ') + numero += 2 + if numero == 49: + print (f"{numero}'") + if numero > 49: + break + + # if numero == 20: + # print(f"numero'", end='') + From 1f47c5a128a9bbf08efe34ee883fb7a75e7114c5 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Fri, 17 Jun 2022 15:23:55 -0300 Subject: [PATCH 39/47] exercicio 10 lista 3 ok --- .../ex_09_numeros_impares_de_1_a_50.py | 3 --- .../ex_10_gerar_numeros_de_intervalo.py | 22 +++++++++++++++++++ 2 files changed, 22 insertions(+), 3 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 65b3aad66..c2c4a96a6 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 @@ -22,7 +22,4 @@ def calcular_numeros_impares_de_1_a_50() -> str: print (f"{numero}'") if numero > 49: break - - # if numero == 20: - # print(f"numero'", end='') 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 09838c651..c15ade00c 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 @@ -16,3 +16,25 @@ def calcular_numeros_no_intervalo(inicio: int, fim: int) -> str: """Escreva aqui em baixo a sua solução""" + if inicio > fim: + print("''") + for n in range (inicio, fim): + if n == inicio: + print("'", end="") #ok + if n == fim - 1: + print(f"{n}'", end="") + break + + print(f"{n},", end=" ") #ok + + + + + + # if numero == 1: + # print(f"'", end='') + # print(f"{numero},", end=' ') + # numero += 2 + # if numero == 49: + # print (f"{numero}'") + # if numero > 49: From af2b54fd08483c9faa77b5f261fee3ddf01cc076 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Fri, 17 Jun 2022 16:08:34 -0300 Subject: [PATCH 40/47] =?UTF-8?q?exerc=C3=ADcios=2011,=2012=20e=2013=20-?= =?UTF-8?q?=20lista=203=20ok?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_10_gerar_numeros_de_intervalo.py | 22 ++++++------------- ...x_11_gerar_numeros_de_intervalo_e_somar.py | 15 +++++++++++++ .../ex_12_tabuada.py | 8 +++++++ .../ex_13_potenciacao.py | 2 ++ 4 files changed, 32 insertions(+), 15 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 c15ade00c..1646dcfec 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 @@ -16,25 +16,17 @@ def calcular_numeros_no_intervalo(inicio: int, fim: int) -> str: """Escreva aqui em baixo a sua solução""" + # caso o inicio seja maior q o fim: if inicio > fim: print("''") + # se as condições forem boas, o código continua: for n in range (inicio, fim): + # no inicio, precisa ter uma ' pra bater com o doctest if n == inicio: - print("'", end="") #ok + print("'", end="") + # no fim (fim menos 1), ele precisa de uma ' pra fechar e bater com o doctest if n == fim - 1: print(f"{n}'", end="") break - - print(f"{n},", end=" ") #ok - - - - - - # if numero == 1: - # print(f"'", end='') - # print(f"{numero},", end=' ') - # numero += 2 - # if numero == 49: - # print (f"{numero}'") - # if numero > 49: + # aqui ele printa tudo + print(f"{n},", end=" ") 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 875432bf8..ff18a1de1 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 @@ -18,3 +18,18 @@ def calcular_numeros_no_intervalo_e_somar(inicio: int, fim: int) -> str: """Escreva aqui em baixo a sua solução""" + # caso o inicio seja maior q o fim: + soma = 0 + if inicio > fim: + print("'Sequência: vazia. Soma: 0'") + # se as condições forem boas, o código continua: + for n in range (inicio, fim): + soma += n + if n == inicio: + print("'Sequência: ", end="") + # no fim (fim menos 1), ele precisa de uma ' pra fechar e bater com o doctest + if n == fim - 1: + print(f"{n}. Soma: {soma}'", end="") + break + # aqui ele printa tudo + print(f"{n},", end=" ") \ No newline at end of file diff --git a/secao_03_estrutura_de_repeticao/ex_12_tabuada.py b/secao_03_estrutura_de_repeticao/ex_12_tabuada.py index f066ddd5a..7b37e9d47 100644 --- a/secao_03_estrutura_de_repeticao/ex_12_tabuada.py +++ b/secao_03_estrutura_de_repeticao/ex_12_tabuada.py @@ -124,3 +124,11 @@ def gerar_tabuada(n: int) -> str: """Escreva aqui em baixo a sua solução""" + if n <= 0 or n > 10: + print('Somente pode ser gerada tabuada de 1 a 10') + + else: + for tabuada in range (1 , 11): + multiplicacao = n * tabuada + print(f'{n} X {tabuada} = {multiplicacao}') + tabuada += 1 \ No newline at end of file diff --git a/secao_03_estrutura_de_repeticao/ex_13_potenciacao.py b/secao_03_estrutura_de_repeticao/ex_13_potenciacao.py index 617b82620..c16db59fb 100644 --- a/secao_03_estrutura_de_repeticao/ex_13_potenciacao.py +++ b/secao_03_estrutura_de_repeticao/ex_13_potenciacao.py @@ -18,3 +18,5 @@ def calcular_potencia(base: int, expoente: int) -> int: """Escreva aqui em baixo a sua solução""" + elevado = base** expoente + print(elevado) \ No newline at end of file From e3749355cbc8d24e25b3cc5b16703f616f1f28fd Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Fri, 17 Jun 2022 17:00:35 -0300 Subject: [PATCH 41/47] =?UTF-8?q?exerc=C3=ADcio=2014=20em=20andamento?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_14_qtde_pares_e_impares.py | 17 +++++++++++++++++ .../ex_15_fibonnacci_ate_n.py | 10 ++++++++++ 2 files changed, 27 insertions(+) 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 2881cc0a0..9a3451254 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 @@ -18,3 +18,20 @@ 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""" + lista = (n1, n2, n3, n4, n5, n6, n7, n8, n9, n10) + par = 0 + for n in lista: + if n%2 == 0: + par+=1 + print(f"'Existem {par} números pares e {10-par} números impares'") + + + # while numero <= 47 and numero %2 != 0: + # # if numero == 1: + # print(f"'", end='') + # print(f"{numero},", end=' ') + # numero += 2 + # # if numero == 49: + # print (f"{numero}'") + # # if numero > 49: + # break \ No newline at end of file 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 index bde925c25..d237a14a8 100644 --- a/secao_03_estrutura_de_repeticao/ex_15_fibonnacci_ate_n.py +++ b/secao_03_estrutura_de_repeticao/ex_15_fibonnacci_ate_n.py @@ -25,3 +25,13 @@ def calcular_serie_de_fibonacci(n: int) -> str: """Escreva aqui em baixo a sua solução""" + n1 = 1 + n2 = 1 + n = n1 + n2 + for n in range(2): + print(f"'", end="") + print(f"{n1}, {n2}, {n}", end=" ") + + + + From 8668a55494200833e9eb59e27929476ef7bd3d94 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Mon, 20 Jun 2022 13:39:10 -0300 Subject: [PATCH 42/47] exercicio 15 lista 3 ok --- .../ex_15_fibonnacci_ate_n.py | 62 +++++++++++++++++-- 1 file changed, 56 insertions(+), 6 deletions(-) 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 index d237a14a8..c812567f8 100644 --- a/secao_03_estrutura_de_repeticao/ex_15_fibonnacci_ate_n.py +++ b/secao_03_estrutura_de_repeticao/ex_15_fibonnacci_ate_n.py @@ -25,12 +25,62 @@ def calcular_serie_de_fibonacci(n: int) -> str: """Escreva aqui em baixo a sua solução""" - n1 = 1 - n2 = 1 - n = n1 + n2 - for n in range(2): - print(f"'", end="") - print(f"{n1}, {n2}, {n}", end=" ") + + # ultimo = 1 + # penultimo = 1 + # soma = 1 + + # if n == 1: + # print(f"'{n}'") + + # else: + # n -= 1 + # print("'1", end=", ") + # for numero in range(n): + # if numero == n -1: + # print(f"{soma}'", end="") + # else: + # print(f"{soma}", end=", ") + # soma = ultimo + penultimo + # ultimo = penultimo + # penultimo = soma + + + ultimo = 1 + penultimo = 1 + soma = 1 + + if n == 1: + print(f"'{n}'") + + else: + n -= 1 + print("'1", end=", ") + + for numero in range(n): + if numero == n - 1: + print(f"{soma}'", end="") + + else: + print(f"{soma}", end=", ") + soma = ultimo + penultimo + ultimo = penultimo + penultimo = soma + + + + + + + + + + + + + + + From be0aa445c49aca0bf7e3af4da205863a1a5b0c59 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Mon, 20 Jun 2022 15:47:25 -0300 Subject: [PATCH 43/47] exercicios 16, 17, 18 e 19 da lista 3 ok --- ...x_16_fibonnacci_ate_valor_maior_que_500.py | 19 +++++++++++++++++++ .../ex_17_fatorial.py | 8 ++++++++ .../ex_18_estatisticas_de_n_numeros.py | 11 +++++++++++ ...estatisticas_de_n_numeros_com_limitacao.py | 16 ++++++++++++++++ 4 files changed, 54 insertions(+) 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 index ab7c70038..89139d7c7 100644 --- 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 @@ -10,5 +10,24 @@ """ +from turtle import pen + + def calcular_serie_de_fibonacci_ate_valor_ser_maior_que_500() -> str: """Escreva aqui em baixo a sua solução""" + ultimo = 0 + penultimo = 1 + soma = 1 + + while ultimo <= 500: + if ultimo == 0: + print(f"'{ultimo}", end=", ") + if penultimo > 500: + print(f"{penultimo}'", end="") + return + else: + print(f"{soma}", end=", ") + soma = ultimo + penultimo + ultimo = penultimo + penultimo = soma + \ No newline at end of file diff --git a/secao_03_estrutura_de_repeticao/ex_17_fatorial.py b/secao_03_estrutura_de_repeticao/ex_17_fatorial.py index 0188fcfa3..edfe00690 100644 --- a/secao_03_estrutura_de_repeticao/ex_17_fatorial.py +++ b/secao_03_estrutura_de_repeticao/ex_17_fatorial.py @@ -23,3 +23,11 @@ def calcular_fatorial(n: int) -> int: """Escreva aqui em baixo a sua solução""" +# for n in range(1,numero+1): +# resultado *= n + resultado = 1 + count = 1 + while count <= n: + resultado *= count + count += 1 + print(resultado) \ No newline at end of file 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 45f349446..a321ff39e 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 @@ -18,3 +18,14 @@ def calcular_estatisticas(*numeros) -> str: """Escreva aqui em baixo a sua solução""" + if len(numeros) == 0: + print("'Maior valor: não existe. Menor valor: não existe. Soma: 0'") + return + maior = max(numeros) + menor = min(numeros) + soma = 0 + + for n in numeros: + soma +=n + print(f"'Maior valor: {maior}. Menor valor: {menor}. Soma: {soma}'") + \ No newline at end of file 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 e49bbed45..90701839b 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 @@ -24,3 +24,19 @@ def calcular_estatisticas(*numeros) -> str: """Escreva aqui em baixo a sua solução""" + for n in (numeros): + if n > 1000 or n < 0: + print("'Somente números de 0 a 1000 são permitidos'") + return + + if len(numeros) == 0: + print("'Maior valor: não existe. Menor valor: não existe. Soma: 0'") + return + + maior = max(numeros) + menor = min(numeros) + soma = 0 + + for n in numeros: + soma +=n + print(f"'Maior valor: {maior}. Menor valor: {menor}. Soma: {soma}'") \ No newline at end of file From d951efd43d63748ae067f8b8c3512e88aaf3a2d8 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Wed, 22 Jun 2022 23:33:54 -0300 Subject: [PATCH 44/47] =?UTF-8?q?exerc=C3=ADcio=20do=2020=20ao=2027=20=20l?= =?UTF-8?q?ista=203=20ok?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ex_20_fatorial_com_limitacao.py | 10 ++++++ .../ex_21_numero_primo.py | 21 ++++++++++++ .../ex_22_numero_primo_divisores.py | 15 +++++++++ .../ex_23_primos_menores_que_um_numero.py | 13 ++++++++ .../ex_24_media_artmetica.py | 32 +++++++++++++++++++ .../ex_25_classificador_de_turma.py | 18 +++++++++++ .../ex_26_urna_eletronica.py | 22 +++++++++++++ .../ex_27_alunos_por_turma.py | 25 +++++++++++++++ 8 files changed, 156 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 641981165..2521c2857 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 @@ -33,3 +33,13 @@ def calcular_fatorial(n: int) -> int: """Escreva aqui em baixo a sua solução""" + if n > 16 or n < 1 or type(n) == float: + print(f"'Apenas valores positivos, inteiros e menores que 16 são válidos. Não é possível calcular para {n}'") + return + + resultado = 1 + count = 1 + while count <= n: + resultado *= count + count += 1 + print(resultado) \ No newline at end of file diff --git a/secao_03_estrutura_de_repeticao/ex_21_numero_primo.py b/secao_03_estrutura_de_repeticao/ex_21_numero_primo.py index 442baff57..d93bc7556 100644 --- a/secao_03_estrutura_de_repeticao/ex_21_numero_primo.py +++ b/secao_03_estrutura_de_repeticao/ex_21_numero_primo.py @@ -39,3 +39,24 @@ def eh_primo(n: int) -> bool: """Escreva aqui em baixo a sua solução""" + # if n / n == 0 and n % 1 == 0 and n / 2 != 0: + # print(True) + # else: + # print(False) + + # for i in range(2, n+1): + # if n / n == 0 and n % i == 0 and n / 2 != 0: + # print(True) + # else: + # print(False) + + mult=0 + + for i in range(1,n+1): + if (n % i == 0): + mult += 1 + + if mult == 2: + print("True") + else: + print("False") 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 index 4fe3d89f1..5921ed1cd 100644 --- a/secao_03_estrutura_de_repeticao/ex_22_numero_primo_divisores.py +++ b/secao_03_estrutura_de_repeticao/ex_22_numero_primo_divisores.py @@ -50,3 +50,18 @@ def eh_primo(n: int) -> bool: """Escreva aqui em baixo a sua solução""" + mult=0 + falso= [] + for i in range(1,n+1): + if (n % i == 0): + mult += 1 + falso.append(i) + if mult == 2: + print(True) + else: + for i in falso: + if i != 1 and i != n: + print(f"É divisível por {i}") + print(False) + + 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 3a3703c9b..060dec7b4 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 @@ -43,3 +43,16 @@ def calcular_primos_e_divisoes(n: int) -> Tuple[str, int]: """Escreva aqui em baixo a sua solução""" + mult=0 + falso= [] + for i in range(1,n+1): + if (n % i == 0): + mult += 1 + falso.append(i) + if mult == 2: + print(True) + else: + for i in falso: + if i != 1 and i != n: + print(f"É divisível por {i}") + print(False) \ No newline at end of file diff --git a/secao_03_estrutura_de_repeticao/ex_24_media_artmetica.py b/secao_03_estrutura_de_repeticao/ex_24_media_artmetica.py index 9cf378f6d..111c02b5b 100644 --- a/secao_03_estrutura_de_repeticao/ex_24_media_artmetica.py +++ b/secao_03_estrutura_de_repeticao/ex_24_media_artmetica.py @@ -16,5 +16,37 @@ """ +from statistics import mean + + def calcular_media(*notas) -> float: """Escreva aqui em baixo a sua solução""" + +# A média aritmética é obtida através da soma de todos os valores dentro de conjuntos numéricos e, +# posteriormente, dividindo todos os valores pelo número total de elementos deste conjunto. + # somas = 0 + # media = somas/notas + + + # else: + # for i in notas: + # somas += notas + # if notas == (): + # print("'É necessária ao menos uma nota para calcular a média'") + # else: + # print(mean(notas)) + if notas == (): + print("'É necessária ao menos uma nota para calcular a média'") + + else: + soma = 0 + for i in notas: + soma += i + media = soma / len(notas) + + if media > 2: + print(media) + else: + print(f"{media:.0f}") + + 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 index 9d56fcb6e..3f5134777 100644 --- a/secao_03_estrutura_de_repeticao/ex_25_classificador_de_turma.py +++ b/secao_03_estrutura_de_repeticao/ex_25_classificador_de_turma.py @@ -24,3 +24,21 @@ def classifcar_turma(*idades) -> str: """Escreva aqui em baixo a sua solução""" +# nao sei o numero de idade +# tirar média de idade da turma, com 3 opções + soma = 0 + for i in idades: + soma += i + media = soma / len(idades) + + if media <= 25: + print(f"'A turma é jovem, pois a média é de {media:.1f} anos'") + elif media > 25 and media < 60: + print(f"'A turma é adulta, pois a média é de {media:.1f} anos'") + else: + print(f"'A turma é idosa, pois a média é de {media:.1f} anos'") + + + + + diff --git a/secao_03_estrutura_de_repeticao/ex_26_urna_eletronica.py b/secao_03_estrutura_de_repeticao/ex_26_urna_eletronica.py index 95d99b4f8..54d2fe2ad 100644 --- a/secao_03_estrutura_de_repeticao/ex_26_urna_eletronica.py +++ b/secao_03_estrutura_de_repeticao/ex_26_urna_eletronica.py @@ -34,5 +34,27 @@ """ +from itertools import count + + def calcular_votos(*votos): """Escreva aqui em baixo a sua solução""" + eleitores = 0 + corrupto = 0 + mentiroso = 0 + roba_faz = 0 + for i in votos: + # eleitores += 1 + if i == 'corrupto': + corrupto += 1 + elif i == 'mentiroso': + mentiroso += 1 + else: + roba_faz += 1 + print(f"Votantes: {len(votos)}") + print(f"Votos no candidato corrupto: {votos.count('corrupto')}") + print(f"Votos no candidato mentiroso: {mentiroso}") + print(f"Votos no candidato rouba, mas faz: {roba_faz}") + + + \ No newline at end of file diff --git a/secao_03_estrutura_de_repeticao/ex_27_alunos_por_turma.py b/secao_03_estrutura_de_repeticao/ex_27_alunos_por_turma.py index af39440e3..c4a60b1d9 100644 --- a/secao_03_estrutura_de_repeticao/ex_27_alunos_por_turma.py +++ b/secao_03_estrutura_de_repeticao/ex_27_alunos_por_turma.py @@ -36,3 +36,28 @@ def calcular_media_de_alunos_por_turma(): """Escreva aqui em baixo a sua solução""" + turmas = int(input("digite a quantidade de turmas: ")) + soma = 0 + quantidade_alunos = 0 + print(f'Número de turmas: {turmas}') + for i in range(turmas): + quantidade_alunos = int(input("digite: ")) + while quantidade_alunos < 1 or quantidade_alunos > 40: + print(f"Uma turma deve ter de 1 a 40 alunos, não é possível ter {quantidade_alunos} alunos") + quantidade_alunos = int(input("digite: ")) + else: + soma += quantidade_alunos + media = soma / turmas + print(f'Média de alunos por turma: {media:.0f}') + + # while True: + # alunos = int(input("digite a quantidade de alunos: ")) + # if alunos < 1 or alunos > 40: + # print(f'Uma turma deve ter de 1 a 40 alunos, não é possível ter {alunos} alunos') + # else: + # soma += alunos + # quantidades += 1 + # break + # media = soma / quantidades + # print(f'Número de turmas: {turmas}') + # print(f'Média de alunos por turma: {media:.0f}') \ No newline at end of file From e1a6c1de4403e684a60bf1c030cfc7924afb2a47 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Thu, 23 Jun 2022 11:17:04 -0300 Subject: [PATCH 45/47] Doctest Ex. 04 - sec. 06 --- .../ex_4_nome_vertical_escada.py | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 secao_06_exercicios_strings/ex_4_nome_vertical_escada.py diff --git a/secao_06_exercicios_strings/ex_4_nome_vertical_escada.py b/secao_06_exercicios_strings/ex_4_nome_vertical_escada.py new file mode 100644 index 000000000..d28c4f831 --- /dev/null +++ b/secao_06_exercicios_strings/ex_4_nome_vertical_escada.py @@ -0,0 +1,50 @@ +""" +Exercício 04 da seção de exercícios com strings da Python Brasil: +https://wiki.python.org.br/ExerciciosComStrings + +Nome na vertical em escada. Modifique o programa anterior de forma a mostrar o nome em formato de escada. + + >>> nome_escada('Arnold_Schwarzenegger') + A + AR + ARN + ARNO + ARNOL + ARNOLD + ARNOLD_ + ARNOLD_S + ARNOLD_SC + ARNOLD_SCH + ARNOLD_SCHW + ARNOLD_SCHWA + ARNOLD_SCHWAR + ARNOLD_SCHWARZ + ARNOLD_SCHWARZE + ARNOLD_SCHWARZEN + ARNOLD_SCHWARZENE + ARNOLD_SCHWARZENEG + ARNOLD_SCHWARZENEGG + ARNOLD_SCHWARZENEGGE + ARNOLD_SCHWARZENEGGER + + >>> nome_escada('gELO') + G + GE + GEL + GELO + + >>> nome_escada('HeISenBErG') + H + HE + HEI + HEIS + HEISE + HEISEN + HEISENB + HEISENBE + HEISENBER + HEISENBERG +""" +def nome_escada(nome:str): + """Escreva aqui em baixo a sua solução""" + \ No newline at end of file From 887e0167f963d608b20fffca7b7b434d3ea928eb Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Thu, 23 Jun 2022 11:35:51 -0300 Subject: [PATCH 46/47] =?UTF-8?q?altera=C3=A7=C3=A3o=20no=20corretor=20de?= =?UTF-8?q?=20exerc=C3=ADcios=20-=20secao=2006?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/corretor_de_exercicios_secao_06.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/corretor_de_exercicios_secao_06.yml b/.github/workflows/corretor_de_exercicios_secao_06.yml index 38572f5b8..a746433f0 100644 --- a/.github/workflows/corretor_de_exercicios_secao_06.yml +++ b/.github/workflows/corretor_de_exercicios_secao_06.yml @@ -23,6 +23,10 @@ jobs: if: always() run: | python -m doctest -f secao_06_exercicios_strings/ex_02_inversor_maisculo.py + - name: Correção do Exercício 04 da seção de Strings + - if: always() + run: | + python -m doctest -f secao_06_exercicios_strings/ex_04_nome_vertical_escada.py - name: Correção do Exercício 05 da seção de Strings if: always() run: | From f56f5a688c155e98e0c37aba083966ec31f70f82 Mon Sep 17 00:00:00 2001 From: Marcos Ornellas <129.ornellas@gmail.com> Date: Thu, 23 Jun 2022 11:41:45 -0300 Subject: [PATCH 47/47] =?UTF-8?q?Doctest=20Ex.=2004=20-=20sec.=2006=20-=20?= =?UTF-8?q?altera=C3=A7=C3=A3o=20feita=20no=20corretor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/corretor_de_exercicios_secao_06.yml | 2 +- ..._4_nome_vertical_escada.py => ex_4_nomes_vertical_escada.py} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename secao_06_exercicios_strings/{ex_4_nome_vertical_escada.py => ex_4_nomes_vertical_escada.py} (100%) diff --git a/.github/workflows/corretor_de_exercicios_secao_06.yml b/.github/workflows/corretor_de_exercicios_secao_06.yml index a746433f0..7d6baa287 100644 --- a/.github/workflows/corretor_de_exercicios_secao_06.yml +++ b/.github/workflows/corretor_de_exercicios_secao_06.yml @@ -26,7 +26,7 @@ jobs: - name: Correção do Exercício 04 da seção de Strings - if: always() run: | - python -m doctest -f secao_06_exercicios_strings/ex_04_nome_vertical_escada.py + python -m doctest -f secao_06_exercicios_strings/ex_04_nomes_vertical_escada.py - name: Correção do Exercício 05 da seção de Strings if: always() run: | diff --git a/secao_06_exercicios_strings/ex_4_nome_vertical_escada.py b/secao_06_exercicios_strings/ex_4_nomes_vertical_escada.py similarity index 100% rename from secao_06_exercicios_strings/ex_4_nome_vertical_escada.py rename to secao_06_exercicios_strings/ex_4_nomes_vertical_escada.py