From dd815a1cef19b6c60969b65fc4e8e4fc367b091d Mon Sep 17 00:00:00 2001 From: Pedro Sousa Date: Thu, 14 May 2020 15:57:14 -0300 Subject: [PATCH 01/18] create exercicio 5 pedro --- Exercicio 5/sousapedro11/exercicio_5.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Exercicio 5/sousapedro11/exercicio_5.py diff --git a/Exercicio 5/sousapedro11/exercicio_5.py b/Exercicio 5/sousapedro11/exercicio_5.py new file mode 100644 index 0000000..e69de29 From 0592995262daae38844a14506ff4af50d6f5d093 Mon Sep 17 00:00:00 2001 From: Pedro Sousa Date: Thu, 14 May 2020 21:38:36 -0300 Subject: [PATCH 02/18] add exercicios do cap 11 --- Exercicio 5/sousapedro11/exercicio_5.py | 64 +++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/Exercicio 5/sousapedro11/exercicio_5.py b/Exercicio 5/sousapedro11/exercicio_5.py index e69de29..3fd16f8 100644 --- a/Exercicio 5/sousapedro11/exercicio_5.py +++ b/Exercicio 5/sousapedro11/exercicio_5.py @@ -0,0 +1,64 @@ +""" +Cap 11 - Dicionarios +1. Faça um dicionário com as 5 pessoas mais perto de você, tendo o nome como chave e a cor da camisa que está +usando como valor. +""" +pessoas = { + 'Pedro': 'Azul', + 'Miguel': 'Amarelo', + 'Claudia': 'Verde', + 'Marta': 'Verde', + 'Alexandre': 'Azul Claro' +} + +print('EXERCICIO 5') +print('q1.') +print(f'Dicionario pessoas = {pessoas}') + +""" +2. Crie um dicionário vazio semana = {} e o complete com uma chave para cada dia da semana, tendo como +seu valor uma lista com as aulas que você tem nesse dia (sábado e domingo recebem listas vazias, ou você tem +aula?). +""" +semana = {} +semana.update(segunda=['OEM para análise de sistemas', + 'Sociologia aplicada a informatica']) +semana.update(terca=['Computacao grafica', 'Sistemas distribuidos']) +semana.update(quarta=['OEM para análise de sistemas']) +semana.update(quinta=['Computacao grafica', 'Sistemas distribuidos']) +semana.update(sexta=['Desenvolvimento Web em Python', 'Java avancado']) +semana.update(sabado=[]) +semana.update(domingo=[]) + +print('\nq2.') +print(f'Dicionario semana = {semana}') + +""" +3. Crie um dicionário vazio filmes = {}. Utilize o nome de um filme como chave. E, como valor, outro +dicionário contendo o vilão e o ano em que o filme foi lançado. Preencha 5 filmes. +""" +filmes = {} +filmes['O silencio dos inocentes'] = { + 'vilao': 'Hannibal Lecter', + 'ano': '1991' +} +filmes['Psicose'] = { + 'vilao': 'Norman Bates', + 'ano': '1960' +} +filmes['Gladiador'] = { + 'vilao': 'Lucius Aurelius Commodus', + 'ano': '2000' +} +filmes['Hellraiser'] = { + 'vilao': 'Pinhead', + 'ano': '1987' +} +filmes['Senhor dos Aneis: A sociedade do anel'] = { + 'vilao': 'Sauron', + 'ano': '2001' +} + +print('\nq3.') +# Me recuso a colocar alguns como vilões, tipo Darth Vader ou Coringa...:) +print(f'Dicionario filmes = {filmes}') From 056a2660c4953522a56cbfe05f4cb541b5b095a7 Mon Sep 17 00:00:00 2001 From: Pedro Sousa Date: Fri, 15 May 2020 19:36:33 -0300 Subject: [PATCH 03/18] add q1 e q2 do cap 13 --- Exercicio 5/sousapedro11/exercicio_5.py | 47 +++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/Exercicio 5/sousapedro11/exercicio_5.py b/Exercicio 5/sousapedro11/exercicio_5.py index 3fd16f8..7ff28b8 100644 --- a/Exercicio 5/sousapedro11/exercicio_5.py +++ b/Exercicio 5/sousapedro11/exercicio_5.py @@ -12,6 +12,7 @@ } print('EXERCICIO 5') +print('CAP 11') print('q1.') print(f'Dicionario pessoas = {pessoas}') @@ -62,3 +63,49 @@ print('\nq3.') # Me recuso a colocar alguns como vilões, tipo Darth Vader ou Coringa...:) print(f'Dicionario filmes = {filmes}') + +""" +Cap 13 - Estruturas de Controle + +1. Escreva um programa que, dados 2 números diferentes (a e b), encontre o menor deles. +""" +print('\nCAP 13') +print('q1.') +numero_1 = int(input('Informe o um número: ')) +numero_2 = int(input('Informe outro um número: ')) +menor = None +if numero_1 > numero_2: + menor = numero_2 +elif numero_1 < numero_2: + menor = numero_1 + +if menor: + print(f'O menor numero entre {numero_1} e {numero_2} é: {menor}') +else: + print(f'Os numeros {numero_1} e {numero_2} sao iguais') + +""" +2. Para doar sangue é necessário1 : +• Ter entre 16 e 69 anos. +• Pesar mais de 50 kg. +• Estar descansado (ter dormido pelo menos 6 horas nas últimas 24 horas). +Faça um programa que pergunte a idade, o peso e quanto dormiu nas últimas 24 h para uma pessoa e diga se ela +pode doar sangue ou não. +""" + +idade = int(input('')) + +""" +3. Considere uma equação do segundo grau f (x) = a · x2 + b · x + c. A partir dos coeficientes, determine se a +equação possui duas raízes reais, uma, ou se não possui. +Dica: ∆ = b2 − 4 · a · c : se delta é maior que 0, possui duas raízes reais; se delta é 0, possui uma raiz; caso +delta seja menor que 0, não possui raiz real +4. Leia dois números e efetue a adição. Caso o valor somado seja maior que 20, este deverá ser apresentado +somando-se a ele mais 8; caso o valor somado seja menor ou igual a 20, este deverá ser apresentado subtraindo- +se 5. +5. Leia um número e imprima a raiz quadrada do número caso ele seja positivo ou igual a zero e o quadrado do +número caso ele seja negativo. +6. Leia um número inteiro entre 1 e 12 e escreva o mês correspondente. Caso o usuário digite um número fora +desse intervalo, deverá aparecer uma mensagem informando que não existe mês com este número. + +""" From 52a0e6e0399ea7b8afdc80a3c1a5b487835f60d4 Mon Sep 17 00:00:00 2001 From: Pedro Sousa Date: Fri, 15 May 2020 21:43:34 -0300 Subject: [PATCH 04/18] add q2 do cap 13 --- Exercicio 5/sousapedro11/exercicio_5.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Exercicio 5/sousapedro11/exercicio_5.py b/Exercicio 5/sousapedro11/exercicio_5.py index 7ff28b8..70445f0 100644 --- a/Exercicio 5/sousapedro11/exercicio_5.py +++ b/Exercicio 5/sousapedro11/exercicio_5.py @@ -92,9 +92,14 @@ Faça um programa que pergunte a idade, o peso e quanto dormiu nas últimas 24 h para uma pessoa e diga se ela pode doar sangue ou não. """ - -idade = int(input('')) - +print('\nq2.') +idade = int(input('Informe sua idade: ')) +peso = float(input('Informe seu peso: ')) +horas_sono = float(input('Informe quantas horas de sono voce teve nas ultimas 24h: ')) +if idade >=16 and idade<=69 and peso>50 and horas_sono>6: + print('Voce pode doar sangue') +else: + print('Voce nao pode ser doador') """ 3. Considere uma equação do segundo grau f (x) = a · x2 + b · x + c. A partir dos coeficientes, determine se a equação possui duas raízes reais, uma, ou se não possui. From 9888aac2b93ac1fbe4426c4f7bee07a54bf71624 Mon Sep 17 00:00:00 2001 From: Pedro Sousa Date: Sat, 16 May 2020 03:59:09 -0300 Subject: [PATCH 05/18] add q3 do cap13 --- Exercicio 5/sousapedro11/exercicio_5.py | 26 +++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/Exercicio 5/sousapedro11/exercicio_5.py b/Exercicio 5/sousapedro11/exercicio_5.py index 70445f0..1a6f8cf 100644 --- a/Exercicio 5/sousapedro11/exercicio_5.py +++ b/Exercicio 5/sousapedro11/exercicio_5.py @@ -95,16 +95,34 @@ print('\nq2.') idade = int(input('Informe sua idade: ')) peso = float(input('Informe seu peso: ')) -horas_sono = float(input('Informe quantas horas de sono voce teve nas ultimas 24h: ')) -if idade >=16 and idade<=69 and peso>50 and horas_sono>6: - print('Voce pode doar sangue') +horas_sono = float( + input('Informe quantas horas de sono voce teve nas ultimas 24h: ')) +if idade >= 16 and idade <= 69 and peso > 50 and horas_sono > 6: + print('Voce pode doar sangue') else: - print('Voce nao pode ser doador') + print('Voce nao pode ser doador') + """ 3. Considere uma equação do segundo grau f (x) = a · x2 + b · x + c. A partir dos coeficientes, determine se a equação possui duas raízes reais, uma, ou se não possui. Dica: ∆ = b2 − 4 · a · c : se delta é maior que 0, possui duas raízes reais; se delta é 0, possui uma raiz; caso delta seja menor que 0, não possui raiz real +""" +print('\nq3') +print('Solucionar uma eq de grau 2: a*x^2 + bx + c') +a = float(input('Informe o valor de a: ')) +b = float(input('Informe o valor de b: ')) +c = float(input('Informe o valor de c: ')) + +delta = (b**2 - 4*a*c)**(1/2) + +if delta == 0: + n = 1 + x1 = x2 = -b/(2*a) + +print(f'A equacao {a}x^2 + {b}x + {c} possui {n} raiz(es): x1 = {x1}, x2 = {x2}') + +""" 4. Leia dois números e efetue a adição. Caso o valor somado seja maior que 20, este deverá ser apresentado somando-se a ele mais 8; caso o valor somado seja menor ou igual a 20, este deverá ser apresentado subtraindo- se 5. From 7d6e1b90f319574c839331d62ac1718fe8c4f3a1 Mon Sep 17 00:00:00 2001 From: Pedro Sousa Date: Thu, 14 May 2020 15:57:14 -0300 Subject: [PATCH 06/18] create exercicio 5 pedro --- Exercicio 5/sousapedro11/exercicio_5.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Exercicio 5/sousapedro11/exercicio_5.py diff --git a/Exercicio 5/sousapedro11/exercicio_5.py b/Exercicio 5/sousapedro11/exercicio_5.py new file mode 100644 index 0000000..e69de29 From d01773612334400a337ca530b606744e34637bcc Mon Sep 17 00:00:00 2001 From: Pedro Sousa Date: Thu, 14 May 2020 21:38:36 -0300 Subject: [PATCH 07/18] add exercicios do cap 11 --- Exercicio 5/sousapedro11/exercicio_5.py | 64 +++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/Exercicio 5/sousapedro11/exercicio_5.py b/Exercicio 5/sousapedro11/exercicio_5.py index e69de29..3fd16f8 100644 --- a/Exercicio 5/sousapedro11/exercicio_5.py +++ b/Exercicio 5/sousapedro11/exercicio_5.py @@ -0,0 +1,64 @@ +""" +Cap 11 - Dicionarios +1. Faça um dicionário com as 5 pessoas mais perto de você, tendo o nome como chave e a cor da camisa que está +usando como valor. +""" +pessoas = { + 'Pedro': 'Azul', + 'Miguel': 'Amarelo', + 'Claudia': 'Verde', + 'Marta': 'Verde', + 'Alexandre': 'Azul Claro' +} + +print('EXERCICIO 5') +print('q1.') +print(f'Dicionario pessoas = {pessoas}') + +""" +2. Crie um dicionário vazio semana = {} e o complete com uma chave para cada dia da semana, tendo como +seu valor uma lista com as aulas que você tem nesse dia (sábado e domingo recebem listas vazias, ou você tem +aula?). +""" +semana = {} +semana.update(segunda=['OEM para análise de sistemas', + 'Sociologia aplicada a informatica']) +semana.update(terca=['Computacao grafica', 'Sistemas distribuidos']) +semana.update(quarta=['OEM para análise de sistemas']) +semana.update(quinta=['Computacao grafica', 'Sistemas distribuidos']) +semana.update(sexta=['Desenvolvimento Web em Python', 'Java avancado']) +semana.update(sabado=[]) +semana.update(domingo=[]) + +print('\nq2.') +print(f'Dicionario semana = {semana}') + +""" +3. Crie um dicionário vazio filmes = {}. Utilize o nome de um filme como chave. E, como valor, outro +dicionário contendo o vilão e o ano em que o filme foi lançado. Preencha 5 filmes. +""" +filmes = {} +filmes['O silencio dos inocentes'] = { + 'vilao': 'Hannibal Lecter', + 'ano': '1991' +} +filmes['Psicose'] = { + 'vilao': 'Norman Bates', + 'ano': '1960' +} +filmes['Gladiador'] = { + 'vilao': 'Lucius Aurelius Commodus', + 'ano': '2000' +} +filmes['Hellraiser'] = { + 'vilao': 'Pinhead', + 'ano': '1987' +} +filmes['Senhor dos Aneis: A sociedade do anel'] = { + 'vilao': 'Sauron', + 'ano': '2001' +} + +print('\nq3.') +# Me recuso a colocar alguns como vilões, tipo Darth Vader ou Coringa...:) +print(f'Dicionario filmes = {filmes}') From 0204a12bf8b137e3b08ad45c5a7a620da6253cb6 Mon Sep 17 00:00:00 2001 From: Pedro Sousa Date: Fri, 15 May 2020 19:36:33 -0300 Subject: [PATCH 08/18] add q1 e q2 do cap 13 --- Exercicio 5/sousapedro11/exercicio_5.py | 47 +++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/Exercicio 5/sousapedro11/exercicio_5.py b/Exercicio 5/sousapedro11/exercicio_5.py index 3fd16f8..7ff28b8 100644 --- a/Exercicio 5/sousapedro11/exercicio_5.py +++ b/Exercicio 5/sousapedro11/exercicio_5.py @@ -12,6 +12,7 @@ } print('EXERCICIO 5') +print('CAP 11') print('q1.') print(f'Dicionario pessoas = {pessoas}') @@ -62,3 +63,49 @@ print('\nq3.') # Me recuso a colocar alguns como vilões, tipo Darth Vader ou Coringa...:) print(f'Dicionario filmes = {filmes}') + +""" +Cap 13 - Estruturas de Controle + +1. Escreva um programa que, dados 2 números diferentes (a e b), encontre o menor deles. +""" +print('\nCAP 13') +print('q1.') +numero_1 = int(input('Informe o um número: ')) +numero_2 = int(input('Informe outro um número: ')) +menor = None +if numero_1 > numero_2: + menor = numero_2 +elif numero_1 < numero_2: + menor = numero_1 + +if menor: + print(f'O menor numero entre {numero_1} e {numero_2} é: {menor}') +else: + print(f'Os numeros {numero_1} e {numero_2} sao iguais') + +""" +2. Para doar sangue é necessário1 : +• Ter entre 16 e 69 anos. +• Pesar mais de 50 kg. +• Estar descansado (ter dormido pelo menos 6 horas nas últimas 24 horas). +Faça um programa que pergunte a idade, o peso e quanto dormiu nas últimas 24 h para uma pessoa e diga se ela +pode doar sangue ou não. +""" + +idade = int(input('')) + +""" +3. Considere uma equação do segundo grau f (x) = a · x2 + b · x + c. A partir dos coeficientes, determine se a +equação possui duas raízes reais, uma, ou se não possui. +Dica: ∆ = b2 − 4 · a · c : se delta é maior que 0, possui duas raízes reais; se delta é 0, possui uma raiz; caso +delta seja menor que 0, não possui raiz real +4. Leia dois números e efetue a adição. Caso o valor somado seja maior que 20, este deverá ser apresentado +somando-se a ele mais 8; caso o valor somado seja menor ou igual a 20, este deverá ser apresentado subtraindo- +se 5. +5. Leia um número e imprima a raiz quadrada do número caso ele seja positivo ou igual a zero e o quadrado do +número caso ele seja negativo. +6. Leia um número inteiro entre 1 e 12 e escreva o mês correspondente. Caso o usuário digite um número fora +desse intervalo, deverá aparecer uma mensagem informando que não existe mês com este número. + +""" From 621fbc013ec1e5afc6f578f2e1dfc483c61c6a91 Mon Sep 17 00:00:00 2001 From: Pedro Sousa Date: Fri, 15 May 2020 21:43:34 -0300 Subject: [PATCH 09/18] add q2 do cap 13 --- Exercicio 5/sousapedro11/exercicio_5.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Exercicio 5/sousapedro11/exercicio_5.py b/Exercicio 5/sousapedro11/exercicio_5.py index 7ff28b8..70445f0 100644 --- a/Exercicio 5/sousapedro11/exercicio_5.py +++ b/Exercicio 5/sousapedro11/exercicio_5.py @@ -92,9 +92,14 @@ Faça um programa que pergunte a idade, o peso e quanto dormiu nas últimas 24 h para uma pessoa e diga se ela pode doar sangue ou não. """ - -idade = int(input('')) - +print('\nq2.') +idade = int(input('Informe sua idade: ')) +peso = float(input('Informe seu peso: ')) +horas_sono = float(input('Informe quantas horas de sono voce teve nas ultimas 24h: ')) +if idade >=16 and idade<=69 and peso>50 and horas_sono>6: + print('Voce pode doar sangue') +else: + print('Voce nao pode ser doador') """ 3. Considere uma equação do segundo grau f (x) = a · x2 + b · x + c. A partir dos coeficientes, determine se a equação possui duas raízes reais, uma, ou se não possui. From e02f2652686844f78c29610f3cd1d6e0a3c11f29 Mon Sep 17 00:00:00 2001 From: Pedro Sousa Date: Wed, 20 May 2020 00:55:18 -0300 Subject: [PATCH 10/18] add q2 do cap 13 --- Exercicio 5/sousapedro11/exercicio_5.py | 35 ++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/Exercicio 5/sousapedro11/exercicio_5.py b/Exercicio 5/sousapedro11/exercicio_5.py index 70445f0..aa5fac9 100644 --- a/Exercicio 5/sousapedro11/exercicio_5.py +++ b/Exercicio 5/sousapedro11/exercicio_5.py @@ -85,7 +85,7 @@ print(f'Os numeros {numero_1} e {numero_2} sao iguais') """ -2. Para doar sangue é necessário1 : +2. Para doar sangue é necessário : • Ter entre 16 e 69 anos. • Pesar mais de 50 kg. • Estar descansado (ter dormido pelo menos 6 horas nas últimas 24 horas). @@ -93,13 +93,40 @@ pode doar sangue ou não. """ print('\nq2.') +def verificador(valor, min, max, msg:str ): + while valormax: + tipo = type(valor) + valor = input(f'{msg.capitalize()} invalida! Informe um valor entre {min} e {max}: ') + if isinstance(tipo, int): + valor = int(valor) + else: + valor = float(valor) + return valor + idade = int(input('Informe sua idade: ')) +idade = verificador(idade, 1, 150, 'idade') + peso = float(input('Informe seu peso: ')) +pseo = verificador(peso, 1, 1000, 'peso') + horas_sono = float(input('Informe quantas horas de sono voce teve nas ultimas 24h: ')) -if idade >=16 and idade<=69 and peso>50 and horas_sono>6: - print('Voce pode doar sangue') +horas_sono = verificador(horas_sono, 0, 24, 'horas de sono') + +bo_idade = idade>=16 and idade<=69 +bo_peso = peso>50 +bo_horas_sono = horas_sono>=6 + +if bo_idade and bo_peso and bo_horas_sono: + print('\nVoce pode doar sangue') else: - print('Voce nao pode ser doador') + print('\nVoce nao pode ser doador') + if not bo_idade: + print(f'Idade ({idade}) fora do intervalo [16, 69] anos') + if not bo_peso: + print(f'Peso ({peso:.2f}) abaixo dos 51Kg') + if not bo_horas_sono: + print(f'Horas de sono ({horas_sono:.1f}) abaixo das 6h') + """ 3. Considere uma equação do segundo grau f (x) = a · x2 + b · x + c. A partir dos coeficientes, determine se a equação possui duas raízes reais, uma, ou se não possui. From 78567e3ed65871dffbc9acd40c0b1399b70eb0c9 Mon Sep 17 00:00:00 2001 From: Pedro Sousa Date: Wed, 20 May 2020 02:03:42 -0300 Subject: [PATCH 11/18] add q3 do cap13 --- Exercicio 5/sousapedro11/exercicio_5.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Exercicio 5/sousapedro11/exercicio_5.py b/Exercicio 5/sousapedro11/exercicio_5.py index 44c5f39..3aca551 100644 --- a/Exercicio 5/sousapedro11/exercicio_5.py +++ b/Exercicio 5/sousapedro11/exercicio_5.py @@ -145,16 +145,20 @@ def verificador(valor, min, max, msg:str ): if delta == 0: n = 1 x1 = x2 = -b/(2*a) + str_raiz = 'raiz real' else: n = 2 if delta > 0: x1 = (-b+sqrt(delta))/(2*a) x2 = (-b-sqrt(delta))/(2*a) + str_raiz = 'raizes reais' else: x1 = f'{-b/(2*a)} + {sqrt(-delta)/(2*a)}i' x2 = f'{-b/(2*a)} - {sqrt(-delta)/(2*a)}i' + str_raiz = 'raizes complexas' -print(f'A equacao {a}x^2 {("+" if b>0 else "") + str(b)}x {("+" if c>0 else "") + str(c)} possui {n} raiz(es): x1 = {x1}, x2 = {x2}') +print(f'A equacao {a}x^2 {("+" if b>0 else "") + str(b)}x {("+" if c>0 else "") + str(c)} possui {n} {str_raiz}.') +print(f'x1 = {x1}, x2 = {x2}') """ 4. Leia dois números e efetue a adição. Caso o valor somado seja maior que 20, este deverá ser apresentado From 070a34d6a3a08f5b66b20fea657efa5139853c5e Mon Sep 17 00:00:00 2001 From: Pedro Sousa Date: Wed, 20 May 2020 11:53:38 -0300 Subject: [PATCH 12/18] ajuste de apresentacao na q3 do cap13 --- Exercicio 5/sousapedro11/exercicio_5.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Exercicio 5/sousapedro11/exercicio_5.py b/Exercicio 5/sousapedro11/exercicio_5.py index 3aca551..449e589 100644 --- a/Exercicio 5/sousapedro11/exercicio_5.py +++ b/Exercicio 5/sousapedro11/exercicio_5.py @@ -135,10 +135,12 @@ def verificador(valor, min, max, msg:str ): delta seja menor que 0, não possui raiz real """ print('\nq3') -print('Solucionar uma eq de grau 2: a*x^2 + bx + c') -a = float(input('Informe o valor de a: ')) -b = float(input('Informe o valor de b: ')) -c = float(input('Informe o valor de c: ')) +print('Solucionar uma eq de grau 2: ax\u00b2 + bx + c') +a = float(input('Informe o valor de \"a\": ')) +while a == 0: + a = float(input('Valor de \"a\" invalido!. Informe um valor nao nulo: ')) +b = float(input('Informe o valor de \"b\": ')) +c = float(input('Informe o valor de \"c\": ')) delta = b**2 - 4*a*c @@ -157,7 +159,7 @@ def verificador(valor, min, max, msg:str ): x2 = f'{-b/(2*a)} - {sqrt(-delta)/(2*a)}i' str_raiz = 'raizes complexas' -print(f'A equacao {a}x^2 {("+" if b>0 else "") + str(b)}x {("+" if c>0 else "") + str(c)} possui {n} {str_raiz}.') +print(f'A equacao {a}x\u00b2 {("+" if b>0 else "") + str(b)}x {("+" if c>0 else "") + str(c)} possui {n} {str_raiz}.') print(f'x1 = {x1}, x2 = {x2}') """ From e11bcd317a77b877380e962bd64ee0e00fa0da38 Mon Sep 17 00:00:00 2001 From: Pedro Sousa Date: Wed, 20 May 2020 11:54:21 -0300 Subject: [PATCH 13/18] ajuste de apresentacao na q3 do cap13 --- Exercicio 5/sousapedro11/exercicio_5.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Exercicio 5/sousapedro11/exercicio_5.py b/Exercicio 5/sousapedro11/exercicio_5.py index 449e589..cb79f67 100644 --- a/Exercicio 5/sousapedro11/exercicio_5.py +++ b/Exercicio 5/sousapedro11/exercicio_5.py @@ -159,7 +159,7 @@ def verificador(valor, min, max, msg:str ): x2 = f'{-b/(2*a)} - {sqrt(-delta)/(2*a)}i' str_raiz = 'raizes complexas' -print(f'A equacao {a}x\u00b2 {("+" if b>0 else "") + str(b)}x {("+" if c>0 else "") + str(c)} possui {n} {str_raiz}.') +print(f'\nA equacao {a}x\u00b2 {("+" if b>0 else "") + str(b)}x {("+" if c>0 else "") + str(c)} possui {n} {str_raiz}.') print(f'x1 = {x1}, x2 = {x2}') """ From c7e16a7a304a092156980c94e74641c0b412dc62 Mon Sep 17 00:00:00 2001 From: Pedro Sousa Date: Wed, 20 May 2020 12:04:34 -0300 Subject: [PATCH 14/18] add q4 do cap13 --- Exercicio 5/sousapedro11/exercicio_5.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/Exercicio 5/sousapedro11/exercicio_5.py b/Exercicio 5/sousapedro11/exercicio_5.py index cb79f67..a971e10 100644 --- a/Exercicio 5/sousapedro11/exercicio_5.py +++ b/Exercicio 5/sousapedro11/exercicio_5.py @@ -163,9 +163,22 @@ def verificador(valor, min, max, msg:str ): print(f'x1 = {x1}, x2 = {x2}') """ -4. Leia dois números e efetue a adição. Caso o valor somado seja maior que 20, este deverá ser apresentado -somando-se a ele mais 8; caso o valor somado seja menor ou igual a 20, este deverá ser apresentado subtraindo- -se 5. +4. Leia dois números e efetue a adição. Caso o valor somado seja maior que 20, este +deverá ser apresentado somando-se a ele mais 8; caso o valor somado seja menor ou igual +a 20, este deverá ser apresentado subtraindo-se 5. +""" +print('\nq4.') +num_1 = float(input('Informe o primeiro numero: ')) +num_2 = float(input('Informe o segundo numero: ')) +soma = num_1 + num_2 +if soma > 20: + soma += 8 + print(f'{num_1} + {num_2} + 8 = {soma}') +else: + soma -= 5 + print(f'{num_1} + {num_2} - 5 = {soma}') + +""" 5. Leia um número e imprima a raiz quadrada do número caso ele seja positivo ou igual a zero e o quadrado do número caso ele seja negativo. 6. Leia um número inteiro entre 1 e 12 e escreva o mês correspondente. Caso o usuário digite um número fora From f2cf225973051051bc9f26b99ac84d4d3d7695cf Mon Sep 17 00:00:00 2001 From: Pedro Sousa Date: Wed, 20 May 2020 12:11:16 -0300 Subject: [PATCH 15/18] add q5 do cap13 --- Exercicio 5/sousapedro11/exercicio_5.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Exercicio 5/sousapedro11/exercicio_5.py b/Exercicio 5/sousapedro11/exercicio_5.py index a971e10..f7acbc4 100644 --- a/Exercicio 5/sousapedro11/exercicio_5.py +++ b/Exercicio 5/sousapedro11/exercicio_5.py @@ -179,8 +179,18 @@ def verificador(valor, min, max, msg:str ): print(f'{num_1} + {num_2} - 5 = {soma}') """ -5. Leia um número e imprima a raiz quadrada do número caso ele seja positivo ou igual a zero e o quadrado do -número caso ele seja negativo. +5. Leia um número e imprima a raiz quadrada do número caso ele seja positivo ou igual a +zero e o quadrado do número caso ele seja negativo. +""" +print('\nq5.') +num = float(input('Informe um numero: ')) + +if num < 0: + print(f'({num})\u00b2 = {num**2}') +else: + print(f'sqrt({num}) = {sqrt(num)}') + +""" 6. Leia um número inteiro entre 1 e 12 e escreva o mês correspondente. Caso o usuário digite um número fora desse intervalo, deverá aparecer uma mensagem informando que não existe mês com este número. """ From 384e6f1fc94c343b38685636f72f41e2fcea9909 Mon Sep 17 00:00:00 2001 From: Pedro Sousa Date: Wed, 20 May 2020 12:30:09 -0300 Subject: [PATCH 16/18] add q6 do cap13 --- Exercicio 5/sousapedro11/exercicio_5.py | 28 ++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/Exercicio 5/sousapedro11/exercicio_5.py b/Exercicio 5/sousapedro11/exercicio_5.py index f7acbc4..7ec3c8d 100644 --- a/Exercicio 5/sousapedro11/exercicio_5.py +++ b/Exercicio 5/sousapedro11/exercicio_5.py @@ -191,6 +191,28 @@ def verificador(valor, min, max, msg:str ): print(f'sqrt({num}) = {sqrt(num)}') """ -6. Leia um número inteiro entre 1 e 12 e escreva o mês correspondente. Caso o usuário digite um número fora -desse intervalo, deverá aparecer uma mensagem informando que não existe mês com este número. -""" +6. Leia um número inteiro entre 1 e 12 e escreva o mês correspondente. Caso o usuário +digite um número fora desse intervalo, deverá aparecer uma mensagem informando que +não existe mês com este número. +""" +print('\nq6.') +mes = int(input('Informe um numero correspondente a um mes (ex: para junho -> 6): ')) +mes_dict = { + 1: 'Janeiro', + 2: 'Fevereiro', + 3: 'Marco', + 4: 'Abril', + 5: 'Maio', + 6: 'Junho', + 7: 'Julho', + 8: 'Agosto', + 9: 'Setembro', + 10: 'Outubro', + 11: 'Novembro', + 12: 'Dezembro', +} + +while mes<1 or mes>12: + mes = int(input('Nao existe mes correspondente a esse numero! Informe algum no intervalo de 1 a 12: ')) + +print(f'Mes correspondente a {mes} = {mes_dict.get(mes)}') From 61bddff0fd7a5b51604879797a11052e64fd4957 Mon Sep 17 00:00:00 2001 From: Pedro Sousa Date: Thu, 21 May 2020 18:58:31 -0300 Subject: [PATCH 17/18] add solucoes do cap 14 --- Exercicio 5/sousapedro11/exercicio_5.py | 112 ++++++++++++++++++++++++ 1 file changed, 112 insertions(+) diff --git a/Exercicio 5/sousapedro11/exercicio_5.py b/Exercicio 5/sousapedro11/exercicio_5.py index 7ec3c8d..54fbb3d 100644 --- a/Exercicio 5/sousapedro11/exercicio_5.py +++ b/Exercicio 5/sousapedro11/exercicio_5.py @@ -216,3 +216,115 @@ def verificador(valor, min, max, msg:str ): mes = int(input('Nao existe mes correspondente a esse numero! Informe algum no intervalo de 1 a 12: ')) print(f'Mes correspondente a {mes} = {mes_dict.get(mes)}') + +""" +CAPITULO 14 +1. Calcule a tabuada do 13. +""" +print('\nCap 14') +print('q1.') +num = 13 + +print(f'Tabuada do {num}') +for i in range(1, 11): + print(f'{num} x {i} = {num*i}') + +""" +2. Ler do teclado uma lista com 5 inteiros e imprimir o menor valor. +""" +def ler_lista(tamanho): + lista_num = [] + for i in range(tamanho): + a = int(input(f'Informe o {i+1}\u00ba numero: ')) + lista_num.append(a) + return lista_num + +print('\nq2.') +lista = ler_lista(5) + +print('\nlista =', lista) +print(f'Menor valor da lista: {min(lista)}') + +""" +3. Ler do teclado uma lista com 5 inteiros e imprimir True se a lista estiver ordenada +de forma crescente ou False caso contrário. +""" +print('\nq3.') +lista = ler_lista(5) +lista_aux = lista[:] +lista_aux.sort() + +print('\nLista:',lista) +print(f'Lista ordenada?: {lista==lista_aux}') + +""" +4. Exiba em ordem decrescente todos os números de 500 até 10. +""" +print('\nq4.') +print('Exibindo de 500 ate 10 em ordem decrescente') +print(', '.join(str(i) for i in range(500, 9, -1))) + +""" +5. Ler do teclado 10 números e imprima a quantidade de números entre 10 e 50. +""" +print('\nq5.') +lista = ler_lista(10) +contador = 0 +for i in lista: + if i>10 and i<50: + contador += 1 + +print(f'Quantidade de numeros entre 10 e 50 (intervalo aberto): {contador}') + +""" +6. Ler do teclado a idade e o sexo de 10 pessoas, calcule e imprima: +a) idade média das mulheres +b) idade média dos homens +c) idade média do grupo +""" +print('\nq6.') +lista = [] +for i in range(10): + pessoa = {} + print(f'Informe os dados da Pessoa {i+1}') + idade = int(input('Idade: ')) + while idade<0 or idade>150: + idade = int(input('Idade invalida! Informe um valor no intervalo [0, 150]: ')) + sexo = input('Sexo (M/F): ') + sexo = sexo.upper() + while sexo != 'M' and sexo != 'F': + sexo = input('Sexo invalido. Informe ou M ou F: ') + sexo = sexo.upper() + print(sexo) + print() + pessoa['id'] = f'Pessoa {i+1}' + pessoa['idade'] = idade + pessoa['sexo'] = sexo + lista.append(pessoa) + +mulheres = [x for x in lista if 'F' == x.get('sexo')] +homens = [x for x in lista if 'M' == x.get('sexo')] +media_mulheres = sum(m.get("idade") for m in mulheres)/len(mulheres) if len(mulheres)>0 else None +media_homens = sum(h.get("idade") for h in homens)/len(homens) if len(homens)>0 else None + +print('mulheres = ', mulheres) +print('homens = ', homens) +print('\na.') +print(f'Idade media das mulheres: {media_mulheres}') + +print('\nb.') +print(f'Idade media dos homens: {media_homens}') + +print('\nc.') +# print((media_homens + media_mulheres) / 2) +print(f'Idade media do grupo: {sum(e.get("idade") for e in lista) / len(lista)}') + +""" +7. Calcule o somatório dos números de 1 a 100 e imprima o resultado. +""" +print('\nq7.') +n = 100 +soma = 0 +for i in range(1, n+1): + soma += i +print(f'Soma dos numeros de 1 a 100: {soma}') From 0c45082c34d4e4f7aa826c4be26182e8162bd80f Mon Sep 17 00:00:00 2001 From: Pedro Sousa Date: Fri, 22 May 2020 00:22:59 -0300 Subject: [PATCH 18/18] add solucoes exercicio 5 --- Exercicio 5/sousapedro11/exercicio_5.py | 33 ++++++++++++------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/Exercicio 5/sousapedro11/exercicio_5.py b/Exercicio 5/sousapedro11/exercicio_5.py index 54fbb3d..967ff65 100644 --- a/Exercicio 5/sousapedro11/exercicio_5.py +++ b/Exercicio 5/sousapedro11/exercicio_5.py @@ -1,8 +1,8 @@ from math import sqrt """ Cap 11 - Dicionarios -1. Faça um dicionário com as 5 pessoas mais perto de você, tendo o nome como chave e a cor da camisa que está -usando como valor. +1. Faça um dicionário com as 5 pessoas mais perto de você, tendo o nome como chave e a +cor da camisa que está usando como valor. """ pessoas = { 'Pedro': 'Azul', @@ -18,9 +18,9 @@ print(f'Dicionario pessoas = {pessoas}') """ -2. Crie um dicionário vazio semana = {} e o complete com uma chave para cada dia da semana, tendo como -seu valor uma lista com as aulas que você tem nesse dia (sábado e domingo recebem listas vazias, ou você tem -aula?). +2. Crie um dicionário vazio semana = {} e o complete com uma chave para cada dia da +semana, tendo como seu valor uma lista com as aulas que você tem nesse dia (sábado e +domingo recebem listas vazias, ou você tem aula?). """ semana = {} semana.update(segunda=['OEM para análise de sistemas', @@ -36,8 +36,9 @@ print(f'Dicionario semana = {semana}') """ -3. Crie um dicionário vazio filmes = {}. Utilize o nome de um filme como chave. E, como valor, outro -dicionário contendo o vilão e o ano em que o filme foi lançado. Preencha 5 filmes. +3. Crie um dicionário vazio filmes = {}. Utilize o nome de um filme como chave. E, como +valor, outro dicionário contendo o vilão e o ano em que o filme foi lançado. +Preencha 5 filmes. """ filmes = {} filmes['O silencio dos inocentes'] = { @@ -74,16 +75,15 @@ print('q1.') numero_1 = int(input('Informe o um número: ')) numero_2 = int(input('Informe outro um número: ')) -menor = None +while numero_2 == numero_1: + numero_2 = int(input('O numero nao pode ser igual ao primeiro! Informe outro numero: ')) + if numero_1 > numero_2: menor = numero_2 elif numero_1 < numero_2: menor = numero_1 -if menor: - print(f'O menor numero entre {numero_1} e {numero_2} é: {menor}') -else: - print(f'Os numeros {numero_1} e {numero_2} sao iguais') +print(f'O menor numero entre {numero_1} e {numero_2} é: {menor}') """ 2. Para doar sangue é necessário : @@ -129,10 +129,10 @@ def verificador(valor, min, max, msg:str ): print(f'Horas de sono ({horas_sono:.1f}) abaixo das 6h') """ -3. Considere uma equação do segundo grau f (x) = a · x2 + b · x + c. A partir dos coeficientes, determine se a -equação possui duas raízes reais, uma, ou se não possui. -Dica: ∆ = b2 − 4 · a · c : se delta é maior que 0, possui duas raízes reais; se delta é 0, possui uma raiz; caso -delta seja menor que 0, não possui raiz real +3. Considere uma equação do segundo grau f (x) = a · x2 + b · x + c. A partir dos +coeficientes, determine se a equação possui duas raízes reais, uma, ou se não possui. +Dica: ∆ = b2 − 4 · a · c : se delta é maior que 0, possui duas raízes reais; +se delta é 0, possui uma raiz; caso delta seja menor que 0, não possui raiz real """ print('\nq3') print('Solucionar uma eq de grau 2: ax\u00b2 + bx + c') @@ -316,7 +316,6 @@ def ler_lista(tamanho): print(f'Idade media dos homens: {media_homens}') print('\nc.') -# print((media_homens + media_mulheres) / 2) print(f'Idade media do grupo: {sum(e.get("idade") for e in lista) / len(lista)}') """