diff --git a/README.md b/README.md index 07ecb36..2773c7a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,3 @@ -# ementa-python-analise-dados - ## S03 - Condicionais, operadores lógicos, erros e exceções ### Material base: https://docs.google.com/presentation/d/1RyITgNV1uzJHum-h6of_PILQeUYqvjrUaQEYA0SHhNU/ @@ -17,7 +15,7 @@ https://wiki.python.org.br/EstruturaDeRepeticao Exercício 36. #### Exercícios Com Listas -https://wiki.python.org.br/EstruturaDeRepeticao +https://wiki.python.org.br/ExerciciosListas Exercício 5. Sugestão extra: www.beecrowd.com.br/ diff --git a/exercicios/para-casa/exercicio-36.py b/exercicios/para-casa/exercicio-36.py new file mode 100644 index 0000000..2972f03 --- /dev/null +++ b/exercicios/para-casa/exercicio-36.py @@ -0,0 +1,31 @@ +# Desenvolva um programa que faça a tabuada de um número qualquer inteiro que será digitado pelo usuário, +# mas a tabuada não deve necessariamente iniciar em 1 e terminar em 10, o valor inicial e final devem ser +# informados também pelo usuário, conforme exemplo abaixo: +# Montar a tabuada de: 5 +# Começar por: 4 +# Terminar em: 7 +# Vou montar a tabuada de 5 começando em 4 e terminando em 7: +# 5 X 4 = 20 +# 5 X 5 = 25 +# 5 X 6 = 30 +# 5 X 7 = 35 +# Obs: Você deve verificar se o usuário não digitou o final menor que o inicial. + +# definindo as variáveis a serem informadas pelo usuário + +numero_tabuada = int(input("Montar a tabuada de: ")) +inicio_tabuada = int(input("Começar por: ")) +fim_tabuada = int(input("Terminar em: ")) + +# se o inicio da tabuada for menor ou igual ao fim da tabuada +# criamos uma sequência utilizando range() +# para cada número dentro desse intervalo multiplique pelo número da tabuada +if inicio_tabuada <= fim_tabuada: + for numero in range(inicio_tabuada, fim_tabuada + 1): # somamos +1 para que o stop seja considerado parte da lista + # utilizamos a interpolação de variável para apresentar o resultado + print(f"{numero_tabuada} x {numero}: {numero_tabuada*numero}") +# se o fim da tabuada for menor que o início da tabuada o usuário será informado para tentar novamente +elif fim_tabuada < inicio_tabuada: + print("O multiplicador não pode ser maior que o multiplicando.\nTente novamente!") + +print("Fim do programa") \ No newline at end of file diff --git a/exercicios/para-casa/exercicio-5.py b/exercicios/para-casa/exercicio-5.py new file mode 100644 index 0000000..edfadb6 --- /dev/null +++ b/exercicios/para-casa/exercicio-5.py @@ -0,0 +1,27 @@ +# Faça um Programa que leia 20 números inteiros e armazene-os num vetor. +# Armazene os números pares no vetor PAR e os números IMPARES no vetor impar. +# Imprima os três vetores. + +# criamos as listas para armazenar os números a serem informados +lista_numeros = [] +lista_pares = [] +lista_impares = [] + +# utilizamos for para solicitar a entrada de dados com o range() para definir o tamanh da lista +for numero in range(4): + # utilizamos a função .append() para inserir as entradas na lista + lista_numeros.append(int(input("Informe o número: "))) + +# precisamos separar os valores nas listas pares e impares +# utilizamos for e condicionais para pegar esses grupos de valores e acrescentar nas respectivas listas +# utilizamos o resto do quocinete para saber se o número é par ou ímpar +for numero in lista_numeros: + if (numero % 2 == 0): + lista_pares.append(numero) + else: + lista_impares.append(numero) + +print(lista_numeros) +print(lista_pares) +print(lista_impares) +print("Fim do programa") \ No newline at end of file diff --git a/exercicios/para-casa/exercicio-listas.png b/exercicios/para-casa/gabarito/exercicio-listas.png similarity index 100% rename from exercicios/para-casa/exercicio-listas.png rename to exercicios/para-casa/gabarito/exercicio-listas.png diff --git a/exercicios/para-casa/exercicios-repeticao.png b/exercicios/para-casa/gabarito/exercicios-repeticao.png similarity index 100% rename from exercicios/para-casa/exercicios-repeticao.png rename to exercicios/para-casa/gabarito/exercicios-repeticao.png diff --git a/exercicios/para-casa/gabarito-lista.py b/exercicios/para-casa/gabarito/gabarito-lista.py similarity index 100% rename from exercicios/para-casa/gabarito-lista.py rename to exercicios/para-casa/gabarito/gabarito-lista.py diff --git a/exercicios/para-casa/gabarito-repeticao-if.py b/exercicios/para-casa/gabarito/gabarito-repeticao-if.py similarity index 100% rename from exercicios/para-casa/gabarito-repeticao-if.py rename to exercicios/para-casa/gabarito/gabarito-repeticao-if.py diff --git a/exercicios/para-casa/gabarito-repeticao.py b/exercicios/para-casa/gabarito/gabarito-repeticao.py similarity index 100% rename from exercicios/para-casa/gabarito-repeticao.py rename to exercicios/para-casa/gabarito/gabarito-repeticao.py diff --git a/exercicios/para-sala/aula-ex3.py b/exercicios/para-sala/feitos em aula/aula-ex3.py similarity index 100% rename from exercicios/para-sala/aula-ex3.py rename to exercicios/para-sala/feitos em aula/aula-ex3.py diff --git a/exercicios/para-sala/aula-ex4.py b/exercicios/para-sala/feitos em aula/aula-ex4.py similarity index 100% rename from exercicios/para-sala/aula-ex4.py rename to exercicios/para-sala/feitos em aula/aula-ex4.py diff --git a/exercicios/para-sala/aula-ex5.py b/exercicios/para-sala/feitos em aula/aula-ex5.py similarity index 100% rename from exercicios/para-sala/aula-ex5.py rename to exercicios/para-sala/feitos em aula/aula-ex5.py diff --git a/exercicios/para-sala/ex-5.py b/exercicios/para-sala/feitos em aula/ex-5.py similarity index 100% rename from exercicios/para-sala/ex-5.py rename to exercicios/para-sala/feitos em aula/ex-5.py diff --git a/exercicios/para-sala/for-range.py b/exercicios/para-sala/feitos em aula/for-range.py similarity index 100% rename from exercicios/para-sala/for-range.py rename to exercicios/para-sala/feitos em aula/for-range.py diff --git a/exercicios/para-sala/for-string.py b/exercicios/para-sala/feitos em aula/for-string.py similarity index 100% rename from exercicios/para-sala/for-string.py rename to exercicios/para-sala/feitos em aula/for-string.py diff --git a/exercicios/para-sala/for1.py b/exercicios/para-sala/feitos em aula/for1.py similarity index 100% rename from exercicios/para-sala/for1.py rename to exercicios/para-sala/feitos em aula/for1.py diff --git a/exercicios/para-sala/for2.py b/exercicios/para-sala/feitos em aula/for2.py similarity index 100% rename from exercicios/para-sala/for2.py rename to exercicios/para-sala/feitos em aula/for2.py diff --git a/exercicios/para-sala/notas-antes.py b/exercicios/para-sala/feitos em aula/notas-antes.py similarity index 100% rename from exercicios/para-sala/notas-antes.py rename to exercicios/para-sala/feitos em aula/notas-antes.py diff --git a/exercicios/para-sala/notas-dict-else.py b/exercicios/para-sala/feitos em aula/notas-dict-else.py similarity index 100% rename from exercicios/para-sala/notas-dict-else.py rename to exercicios/para-sala/feitos em aula/notas-dict-else.py diff --git a/exercicios/para-sala/notas-dict-nested.py b/exercicios/para-sala/feitos em aula/notas-dict-nested.py similarity index 100% rename from exercicios/para-sala/notas-dict-nested.py rename to exercicios/para-sala/feitos em aula/notas-dict-nested.py diff --git a/exercicios/para-sala/notas-dict.py b/exercicios/para-sala/feitos em aula/notas-dict.py similarity index 100% rename from exercicios/para-sala/notas-dict.py rename to exercicios/para-sala/feitos em aula/notas-dict.py diff --git a/exercicios/para-sala/notas-for-len.py b/exercicios/para-sala/feitos em aula/notas-for-len.py similarity index 100% rename from exercicios/para-sala/notas-for-len.py rename to exercicios/para-sala/feitos em aula/notas-for-len.py diff --git a/exercicios/para-sala/notas-for.py b/exercicios/para-sala/feitos em aula/notas-for.py similarity index 100% rename from exercicios/para-sala/notas-for.py rename to exercicios/para-sala/feitos em aula/notas-for.py diff --git a/exercicios/para-sala/notas-lista.py b/exercicios/para-sala/feitos em aula/notas-lista.py similarity index 100% rename from exercicios/para-sala/notas-lista.py rename to exercicios/para-sala/feitos em aula/notas-lista.py diff --git a/exercicios/para-sala/notas-tupla.py b/exercicios/para-sala/feitos em aula/notas-tupla.py similarity index 100% rename from exercicios/para-sala/notas-tupla.py rename to exercicios/para-sala/feitos em aula/notas-tupla.py diff --git a/exercicios/para-sala/range.py b/exercicios/para-sala/feitos em aula/range.py similarity index 100% rename from exercicios/para-sala/range.py rename to exercicios/para-sala/feitos em aula/range.py diff --git a/exercicios/para-sala/while-user.py b/exercicios/para-sala/feitos em aula/while-user.py similarity index 100% rename from exercicios/para-sala/while-user.py rename to exercicios/para-sala/feitos em aula/while-user.py diff --git a/exercicios/para-sala/pratica-dicionarios.py b/exercicios/para-sala/pratica-dicionarios.py new file mode 100644 index 0000000..95adb06 --- /dev/null +++ b/exercicios/para-sala/pratica-dicionarios.py @@ -0,0 +1,25 @@ +# precisamos trabalhar com um número grande de variáveis e dados +# como armazenar e organizar dados? +# precisamos armazenar nossas variáveis em estruturas de dados + +# vamos organizar as três notas em um dicionário +# criamos uma variável e colocamos os valores das notas entre chaves com seus nomes e separadas por vírgula + +notas = { + "notas1": 8, + "notas2": 5, + "notas3": 7.3 + } + +# para acessar os valores de um dicionário usamos a função .values(): +def calcula_media(notas): + # definimos a variável de retorno + soma_notas = 0 + # dentro da função acessamos o dicionário + for nota in notas.values(): + soma_notas = soma_notas + nota + # usamos o len para calcular a média, assim podemos trabalhar com n quantidades de notas sem precisar alterar o código + return round((soma_notas/len(notas)), 2) + +# acessamos as notas por index para chamar a função +print(calcula_media(notas)) \ No newline at end of file diff --git a/exercicios/para-sala/pratica-for-string.py b/exercicios/para-sala/pratica-for-string.py new file mode 100644 index 0000000..a497ae8 --- /dev/null +++ b/exercicios/para-sala/pratica-for-string.py @@ -0,0 +1,6 @@ + +variavel_texto = "muito legal aprender python!" + +for caracter in variavel_texto: + print(caracter) + diff --git a/exercicios/para-sala/pratica-for.py b/exercicios/para-sala/pratica-for.py new file mode 100644 index 0000000..0fda265 --- /dev/null +++ b/exercicios/para-sala/pratica-for.py @@ -0,0 +1,30 @@ +# crie um código que imprima todos os números entre 0 e 10 +for numero in range(0, 11, 1): + print(numero) +print("fim do programa") + +# crie um código que imprima todos os números inteiros entre 10 e 0 +# como stop não pode ser menor que start +# precisamos usar o step negativo para subtrair 1 de 11 até chegar em 0 +for numero in range(10, 0, -1): + print(numero) +print("fim do programa") + +#crie um código que imprima todos os números pares maiores de que 22 e menores que 68 +for numeros_pares in range(24, 68, 2): + print(numeros_pares) +print("fim do programa") + +# crie um código que imprima a soma de todos os números entre 0 e 10 +# precisamos definir a variável soma começando em 0 +soma = 0 +for numero in range(11): + soma = soma + numero +print(soma) +print("fim do programa") + +# crie um código que conte as letras do seu nome +# precisamos remover os espaços, podemos usar o replace que substitui o que existe por outra coisa +nome = "Carla Freitas" +print(len(nome.replace(" ", ""))) +print("fim do programa") diff --git a/exercicios/para-sala/pratica-len.py b/exercicios/para-sala/pratica-len.py new file mode 100644 index 0000000..730fdc5 --- /dev/null +++ b/exercicios/para-sala/pratica-len.py @@ -0,0 +1,19 @@ +# com o range podemos usar apenas números +# se quero imprimir partes de uma frase usamos o len +# len dá o tamanho da variável +# com ela podemos saber a posição dos caracteres de uma string + +# se a gente quiser a última letra da string mas não sabemmos a posição dela +# podemos usar len direto chamando a variável e o tamanho dela: +# variavel_texto[len(variavel_texto)-1] + + +variavel_texto = "muito legal aprender python!" + +# monta uma sequência de números que começa em 0 (start), +# termina no tamanho da string (stop), com intervalo de 2 em 2 (step) + +for caracter in range(0, len(variavel_texto), 2): + print(caracter) # vai imprimir o intervalo de números da frase + # para imprimir a letra que está em cada posição usamos: + print(variavel_texto[caracter]) \ No newline at end of file diff --git a/exercicios/para-sala/pratica-listas-for.py b/exercicios/para-sala/pratica-listas-for.py new file mode 100644 index 0000000..10cf3fe --- /dev/null +++ b/exercicios/para-sala/pratica-listas-for.py @@ -0,0 +1,20 @@ +#combinando listas e for +# se usamos for não precisamos usar o index + +# criamos uma lista +notas = [7, 5 , 7.3] + +# nossa função vai receber a lista inteira +def calcula_media(notas): + # definimos a variável de retorno + soma_notas = 0 + # dentro da função acessamos a lista + # para cada nota na lista de notas some essa nota + # não precisamos usar index, pois o for vai precorrer a lista pegando os valores em sequência + for nota in notas: + soma_notas = soma_notas + nota + # usamos o len para calcular a média, assim podemos trabalhar com n quantidades de notas sem precisar alterar o código + return round((soma_notas/len(notas)), 2) + +# acessamos as notas por index para chamar a função +print(calcula_media(notas)) \ No newline at end of file diff --git a/exercicios/para-sala/pratica-listas.py b/exercicios/para-sala/pratica-listas.py new file mode 100644 index 0000000..2f414cb --- /dev/null +++ b/exercicios/para-sala/pratica-listas.py @@ -0,0 +1,15 @@ +# precisamos trabalhar com um número grande de variáveis e dados +# como armazenar e organizar dados? +# precisamos armazenar nossas variáveis em estruturas de dados + +# vamos organizar as três notas em uma lista: +# criamos uma variável e colocamos os valores das notas entre colchetes e separados por vírgula + +notas = [7, 5 , 7.3] + +def calcula_media(nota1, nota2, nota3): + media = round(((nota1 + nota2 + nota3)/3), 2) + return media + +# acessamos as notas por index para chamar a função +print(calcula_media(notas[0], notas[1], notas[2])) \ No newline at end of file diff --git a/exercicios/para-sala/pratica-range.py b/exercicios/para-sala/pratica-range.py new file mode 100644 index 0000000..5045115 --- /dev/null +++ b/exercicios/para-sala/pratica-range.py @@ -0,0 +1,18 @@ +# range cria um lista com iníco, fim e intervalo +# for acessa a lista criada no range + +# start == 0 , stop == 5, step == 1 +for numero in range(5): + print(numero) + + +# start == 1, stop == 5, step == 1 +for numero in range(1, 5, 1): + print(numero) + + +# start == 1, stop == 11, step == 2 +for numero in range(1, 11, 2): + print(numero) + + diff --git a/exercicios/para-sala/pratica-try-except1.py b/exercicios/para-sala/pratica-try-except1.py new file mode 100644 index 0000000..cc3a298 --- /dev/null +++ b/exercicios/para-sala/pratica-try-except1.py @@ -0,0 +1,10 @@ + +numero1 = int(input()) +numero2 = int(input()) + +# solicitando que o programa tente fazer a divisão +try: + print(numero1/numero2) +# se não conseguir fazer a divisão, faz isso aqui +except: + print("Não é possível dividir por zero.") \ No newline at end of file diff --git a/exercicios/para-sala/pratica-try-except2.py b/exercicios/para-sala/pratica-try-except2.py new file mode 100644 index 0000000..f610287 --- /dev/null +++ b/exercicios/para-sala/pratica-try-except2.py @@ -0,0 +1,10 @@ +variavel1 = input("Informe um número: ") +variavel2 = input("Informe um segundo número: ") + +try: + variavel1_numerica = float(variavel1) + variavel2_numerica = float(variavel2) + print(variavel1_numerica/variavel2_numerica) +except: + print("Operação inválida!\nInforme apenas números.") + diff --git a/exercicios/para-sala/pratica-while1.py b/exercicios/para-sala/pratica-while1.py new file mode 100644 index 0000000..e1bb651 --- /dev/null +++ b/exercicios/para-sala/pratica-while1.py @@ -0,0 +1,22 @@ + +numero = 0 + +# enquanto número for menor que 5, imprime x +# ele vai rodar "infinitamente" enquanto a condição for verdadeira +# temos que criar uma condição de parada +# quando a condição for falsa, o bloco interno não será executado + +# incrementando antes de imprimir +while numero < 5: + numero = numero + 1 + print(numero) + +print("Fim do programa") + + +# incrementando depois de imprimir +while numero < 5: + print(numero) + numero = numero + 1 + +print("Fim do programa") \ No newline at end of file diff --git a/exercicios/para-sala/pratica-while2.py b/exercicios/para-sala/pratica-while2.py new file mode 100644 index 0000000..f5fb07c --- /dev/null +++ b/exercicios/para-sala/pratica-while2.py @@ -0,0 +1,15 @@ +# Vamos mudar nosso laço para imprimir um intervalo +# iniciado em 0 com n número informado pelo usuário. + +# definindo as variáveis +inicio = 0 +fim = int(input("Informe um número: ")) + +# definindo a comparação +# utilizamos <= porque queremos que que o número informado também seja impresso +# imprimimos antes de incrementar porque queremos que o valor da comparação seja impresso +while inicio <= fim: + print(inicio) + inicio = inicio + 1 # essa equação pode ser escrita como "inicio += 1" + +print("Fim do programa") \ No newline at end of file