Logo Passei Direto
Buscar

4 questões em Python

Lista de exercícios em Python com enunciados e soluções: 1) calcular cos(x) (x em graus) usando os 15 primeiros termos da série (implementações FOR, WHILE e com função); 2) contar primos lidos até -1; 3) contar DDDs distintos em lista de telefones; 4) diferença entre somas das diagonais de matriz N×N.

User badge image
sem nome

em

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

1) Implementar um programa para calcular o cos(x). O valor de X deverá
ser digitado em graus. O valor do cosseno de X será calculado pela
soma dos 15 primeiros termos da série a seguir:
cos(x) = 1 - (x^2) / 2! + (x^4) / 4! - (x^6) / 6!
Primeira forma de resolver (utilizando o FOR):
import math
x = float(input('Digite o valor de x em graus:'))
cos = k = 0
fat = a = 1
for i in range (1,16):
fat = 1
for j in range(1,k+1):
fat *= j
cos += a *((((x/180)*math.pi)**k)/fat)
a *= (-1)
k += 2
print('Valor de cos({0}) vale {1:.3f} '.format(x,cos))
Segunda forma de resolver (utilizando o WHILE):
import math
x = float(input('Digite o valor de x em graus:'))
cos = k = 0
fat = a = i = 1
while i<16:
fat = 1
for j in range(1,k+1):
fat *= j
cos += a *((((x/180)*math.pi)**k)/fat)
a *= (-1)
k += 2
i += 1
print('Valor de cos({0}) vale {1:.3f} '.format(x,cos))
Terceira forma de resolver (utilizando FUNÇÕES):
import math
def funcao_radianos(x):
calculo_cosseno(x, ((x/180)*math.pi))
def fatorial(k):
fat = 1
for j in range(1, k + 1):
fat *= j
return fat
def calculo_cosseno(x,y):
cos = k = 0
fat = a = i = 1
while i < 16:
fat = fatorial(k)
cos += a * ((y ** k) / fat)
a *= (-1)
k += 2
i += 1
print('Valor de cos({0}) vale {1:.3f} '.format(x, cos))
x = float(input('Digite o valor de x em graus:'))
funcao_radianos(x)
2) Faça um programa que pede para o usuário digitar números inteiros
positivos e conta quantos dos números digitados são primos. O programa
só deve parar de solicitar números quando o usuário digitar -1.
Casos de teste:
Entrada: 3, 4, 18, 5, 35, 7, -1,
Saída: 3
Entrada: 5, 32, 65, 3, 10, 14, 2, -1
Saída: 2
Entrada: -1
Saída: 0
Entrada: 4, 8, 10, 12, 40, 36, -1
Saída: 0
Resolução 1 (utilizando função):
def funcao_primo(n):
primo = 0
for i in range(1,n+1):
if n%i==0:
primo = primo + 1
if primo==2:
return 1;
else:
return 0
resp = 0
para = True
while para:
n = int(input("Digite um número inteiro: "))
if n!=-1:
resp += funcao_primo(n)
else:
para = False
print(resp)
Resolução 2 (Sem a utilização de função) :
primo = 0
resp = 0
para = True
while para:
n = int(input("Digite um número inteiro: "))
if n!=-1:
primo = 0
for i in range(1,n+1):
if n%i==0:
primo = primo + 1
if primo==2:
resp = resp + 1
else:
para = False
print(resp)
3) Faça uma função em Python que recebe uma lista de telefones no
formato string (ex: 85-999227711) e imprime a quantidade de códigos
DDDs diferentes que estão presentes na lista.
Exemplo de entrada e saída:
lista = ["85-999227711","85-98827721","88-999182311","86-988227755",
"85-991427561","88-985771144","85-988665511","88-989227871","86-984227
733","85-989331177"]
Saída: 3
CÓDIGO:
listas = ["85-999227711","85-98827721","88-999182311","86-988227755",
"85-991427561","88-985771144","85-988665511","88-989227871","86-98422
7733","85-989331177"]
def funcao(listas):
tel = []
cont = 0
for i in range(len(listas)):
tel.append(listas[i][0] + listas[i][1])
for i in range(len(tel)):
for k in range(len(tel)):
if i!=k and tel[i]==tel[k]:
tel[k] = '00'
for j in range(len(tel)):
if tel[j]!='00':
cont = cont + 1
print("Quantidade de DDD diferentes: ",cont)
funcao(listas)
4) Faça um programa em Python que receba, inicialmente, um valor
inteiro positivo ímpar N (>=3), que é a ordem de uma matriz quadrada M
(de dimensão N x N).Em seguida, o programa deve receber N * N valores
inteiros, um em cada linha, que serão os valores a serem atribuídos a
cada posição da matriz, em ordem, conforme exemplos abaixo. O programa
deve mostrar o valor da soma dos elementos da diagonal principal
subtraído do valor da soma dos elementos da diagonal secundária.
Exemplos:
Entradas: 3 2 3 4 1 8 5 3 5 7
Saída: 2
Entradas: 3 56 5 32 65 19 12 13 4 2
Saída: 13
Código:
n = int(input(''))
matriz = []
soma = 0
for i in range(n):
linha = []
for j in range(n):
a = int(input(''))
linha.append(a)
matriz.append(linha)
for i in range(n):
for j in range(n):
if i==j:
soma = soma + matriz[i][j]
if i+j+1==n:
soma = soma - matriz[i][j]
print(soma)

Mais conteúdos dessa disciplina