Baixe o app para aproveitar ainda mais
Prévia do material em texto
APRENDA PYTHON VOL 5 – VETORES E STRINGS INSTITUTO DE COMPUTAÇÃO – ICOMP – UFAM Exercícios resolvidos de Linguagem Python. Cardoso, A. K. S. 1 - VETOR DE UNS Escreva um programa que leia um número inteiro N, positivo, este número N será relativo a quantidade de posições de um vetor que será criado. Em seguida, crie e imprima um vetor de N posições, todas preenchidas com o valor 1 (um), do tipo inteiro. Dicas 1. Como os elementos do vetor devem ser inteiros, os "uns" não podem estar seguidos de ponto; 2. Use a função ones(), do módulo numpy, bem como sua opção dtype=int. 2 - INFORMAÇÕES BÁSICAS DE UM VETOR Escreva um programa que leia um vetor digitado pelo usuário. O vetor não deve ter valores repetidos. Em seguida, o programa deverá imprimir as seguintes informações sobre o vetor, necessariamente na ordem indicada: 1. Valor do primeiro elemento do vetor 2. Valor do último elemento do vetor 3. Número de elementos do vetor 4. Maior elemento do vetor 5. Índice do maior elemento do vetor 6. Menor elemento do vetor 7. Índice do menor elemento do vetor 8. Soma dos elementos do vetor 9. Média aritmética dos elementos do vetor (com duas casas decimais de precisão). Dicas 1. Use as funções size(), max(), min() e sum(), da biblioteca numpy. 2. Use a função round(x, n), nativa da linguagem Python, para fazer arredondamento do número x com até n casas decimais de precisão. 3. Na entrada de dados, os elementos do vetor devem estar separados por vírgula. O uso de colchetes é opcional. 4. Para a entrada [20, 10, 50, 40, 30], a saída deverá ser a seguinte: 20 30 5 50 2 10 1 150 30.0, indicando que: • 20 é o primeiro elemento do vetor. • 30 é o último elemento do vetor. • O vetor tem 5 elementos. • O maior elemento do vetor é 50 e seu índice é 2. • O menor elemento do vetor é 10 e seu índice é 1. • A soma de todos os elementos do vetor é 150. • A média aritmética dos elementos do vetor vale 30.0. 3 - CALORIAS EM UM PRATO A tabela a seguir mostra a quantidade de calorias de cada alimento, por grama. Alimento kcal/grama BANANA 0.97 BIFE 2.95 FEIJOADA 1.27 OMELETE 1.04 TOMATE 0.2 Faça um programa que tenha como entrada: 1. Um vetor de nomes de alimentos em um prato (em maiúsculas e conforme tabela acima); 2. Um vetor de quantidades (em gramas) dos alimentos especificados no vetor anterior, ou seja, o primeiro elemento indica a quantidade do primeiro alimento, e assim por diante. Como saída, seu programa deverá imprimir o total de calorias no prato (em kcal), com até duas casas decimais de precisão. Dicas 1. Verifique se as variáveis associadas ao problema são reais ou inteiras. 2. Use a função round(x, n) para arredondar o valor x com até n casas decimais. 3. Atenção para o uso de caracteres MAIÚSCULOS. Não use acentos. 4. Lembre-se de utilizar o comando de importação, import. 5. Assim como nos exemplos fornecidos, não utilize espaços entre os itens do vetor de entrada. 4 - DANOS DE UM EXÉRCITO DE COMBATENTES O Rei Gardoc criou um exército de combatentes para enfrentar a terrível Quimera. Cada combatente tem uma espada e o dano total que ele é capaz de gerar é dado pela fórmula: dano_do_combatente = dano_da_espada⋅nível_do_combatente O dano da espada vem da seguinte tabela: Tipo de Espada Dano (pontos de força/nível) CENOURA 2 FERRO 4 DWARVEN 8 ELVEN 11 DAEDRIC 14 Faça um programa que leia, nesta ordem: 1. Um vetor de strings, em que o i-ésimo elemento indica o tipo de espada do i-ésimo combatente; 2. Um vetor de inteiros, em que o i-ésimo elemento indica o nível do i- ésimo combatente; Como saída, determine o dano total (em pontos de força) que o exército é capaz de causar. Dicas 1. O resultado deve ser um número inteiro. 2. Use apenas caracteres MAIÚSCULOS. Não use acentos. 3. Lembre-se de utilizar o comando de importação, import. 4. Assim como nos exemplos fornecidos, não utilize espaços entre os itens do vetor de entrada. Observe os dois exemplos adicionais a seguir: Entradas de exemplo: ["FERRO","DWARVEN","ELVEN"] [3,7,9] Saída de exemplo: 167 Entradas de exemplo: ["CENOURA","DWARVEN","ELVEN","FERRO"] [2,5,6,3] Saída de exemplo: 122 5 - OPERAÇÕES BÁSICAS ENVOLVENDO STRINGS Escreva um programa que leia uma string digitada pelo usuário. Em seguida, imprima as seguintes informações sobre a string, nesta ordem: 1. Primeiro caractere da string; 2. Último caractere da string; 3. Quantidade de caracteres da string; 4. Toda a string em caracteres minúsculos; 5. Toda a string em caracteres maiúsculos; 6. Impressão de 500 cópias da string. Dicas 1. Use as funções e métodos que operam sobre strings: len(), upper() e lower(); 2. Use os operadores de concatenação (+) e replicação (*) de strings. 6 - DATA POR EXTENSO Escreva um programa que leia do teclado uma data no formato “ddmmaaaa” e imprima essa data por extenso (suponha valores sempre válidos). Dicas Exemplo (não exaustivo) com a data de fundação da UFAM: Entrada: 17011909 Saída: 17 de janeiro de 1909 7 - TOTAL DE COMPRAS A tabela a seguir mostra o nome e o valor dos produtos vendidos no supermercado Super Duper Mart. Produto Custo (R$) ARROZ 1.25 FEIJAO 2.60 BIS 1.80 MIOJO 0.85 FANTA 3.20 Faça um programa que tenha como entrada: 1. Um vetor de nomes de produtos que o cliente está comprando (em maiúsculas e conforme tabela acima); 2. Um vetor de quantidades (inteiro) dos produtos especificados no vetor anterior, ou seja, o primeiro elemento indica a quantidade do primeiro produto, e assim por diante. Como saída, seu programa deverá imprimir o total da conta do cliente (em R$), com duas casas decimais de precisão. Dicas 1. Verifique se as variáveis associadas ao problema são reais ou inteiras. 2. Use a função round(x, n) para arredondar o valor x com até n casas decimais. 3. Atenção para o uso de caracteres MAIÚSCULOS. Não use acentos. 4. Lembre-se de utilizar o comando de importação, import. 5. Assim como nos exemplos fornecidos, não utilize espaços entre os itens do vetor de entrada. 8 - TIRO AO ALVO MULTIPLICADO Em uma competição de tiro ao alvo, o alvo é dividido em quatro anéis conforme figura a figura abaixo: Todo competidor começa com 200.0 pontos. Quando um competidor acerta um anel, a pontuação dele muda conforme a seguir: • Anel 1: a pontuação dele é multiplicada por 4; • Anel 2: a pontuação dele é multiplicada por 2; • Anel 3: a pontuação dele é permanece como está; • Anel 4: a pontuação dele é dividida por 2; Faça um programa que tenha como entrada um vetor de números indicando os anéis acertados pelo jogador. Seu programa deverá imprimir a pontuação total do jogador, com duas casas decimais. Dicas 1. Verifique se as variáveis associadas ao problema são reais ou inteiras. 2. Use a função round(x, n) para arredondar o valor x com até n casas decimais. 3. Use uma variável acumuladora para computar a pontuação do jogador. 4. Inicie a pontuação do competidor como o valor real 200.0 9 - CONTANDO VOGAIS E CONSOANTES Escreva um programa que leia uma string digitada pelo usuário. Em seguida, imprima a quantidade de vogais e de consoantes. Dicas 1. Use as os comandos upper() ou lower() para padronizar a string e evitar mais de uma comparação para a mesma vogal/consoante; 2. Considere que a string de entrada não possui espaços, símbolos de pontuação, acentos e nem cedilha; 3. Use o comando count() para contar um determinado caracter em uma string. 10 - LÍNGUA DO P MODIFICADA A língua do P é uma cifra fonética, geralmente utilizada por crianças, acrescentando a letra P antes de cada sílaba, como uma forma de código para dificultar que outras pessoas entendam a conversa. Genoveva decidiu criar sua própria língua do P, substituindotodas as consoantes de uma palavra por P. Desta forma, a frase gosto de pudim se transforma em poppo pe pupip. Escreva um programa que leia uma string digitada pelo usuário. Em seguida, aplique as regras da língua do P de Genoveva. A string de saída deverá deverá conter apenas caracteres minúsculos. Dicas 1. Use o método s.lower() para deixar a string s com caracteres minúsculos. 2. Use o método s.replace('c1', 'c2') para substituir, em toda a string s, as ocorrências do caractere c1 pelo caractere c2. 11 - DISTÂNCIA EUCLIDIANA A distância Euclidiana d entre os pontos P = (p1, p2, …, pn) e Q = (q1, q2, …, qn) é definida como: d(P,Q)=√ (p1−q1)2+(p2−q2)²+...+(pn−qn)² Escreva um programa que leia dois vetores P e Q. Como saída, imprima a distância euclidiana d(P, Q) com até quatro casas decimais de precisão. Dicas 1. Use a função eval() para ler os vetores. 2. Use a função round(x, n) para arredondar um número x com até n casas decimais de precisão.
Compartilhar