Buscar

lista ipd 2

Prévia do material em texto

Exercício 1 
vet=[]
vet2=[]
soma=0
soma2=0
cont=0
cont2=0
cont3=0
for i in range(0,50):
 c=input('Digitar Temperatuda em Graus Celsius: ')
 soma=soma+c
 cont=cont+1
 vet.append(c)
 f=1.8*c+32
 soma2=soma2+f
 cont2=cont2+1
 vet2.append(f)
print ('Temperatuda em Celsius:'),vet
print ('Temperatuda em Farenheit:'),vet2
media=soma/float(cont)
media2=soma2/float(cont2)
for i in range(0,50):
 if vet2[i]>media2:
 cont3=cont3+1
print('Media em Celsius:'),media
print('Media em Farenheit:'),media2
print('Temperaturas acima da media em Ferenheit'),cont3
Exercicio 2
Vetor=[0]*40
i=0
par=0
while i < 40:
 Vetor[i]=int(input("Escreva um numero:"))
 if ((Vetor[i] % 2) == 0): #Verifica se nao par
 par+=1
 i+=1
print("Esse vetor possui",par,"elementos pares.")
exercício 3
frase = raw_input("digite uma frase/palavra em letra minuscula: ")
vogais = ['a','e','i','o','u']
V = 0
consoante = ['b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','y','z']
C =0
espaco = [' ']
E = 0
for i in range (0,len(frase)):
 if frase[i] in vogais:
 V += 1
 elif frase[i] in consoante:
 C += 1
 else:
 E += 1
print ("numero de vogais: %d " %V ,"numero de consoante: %d " %C, "numero de espaco: %d" %E )
Exercicio 4
vet=[]
for i in range(0,30):
 vet.append(input('Numero:'))
 print vet
x=input('Buscar numero:')
cont=0
for i in range(0,30):
 if vet[i]==x:
 cont=cont+1
print'Quantidade de vezes que o numero',x,'aparece:',cont
Exercicio 5 
vet=[]
for i in range(0,16):
 a=input('Numero: ')
 vet.append(a)
print'Vetor original:',vet
for i in range(0,8):
 aux=vet[i]
 vet[i]=vet[i+8]
 vet[i+8]=aux
print'Vetor trocado:',vet
Exercicio 6
def palindromo(a): 
 i = 0
 j = 0
 a=[element.lower() for element in a] #Passa todos os caracteres para letra minuscula.
 while i < len(a):
 if a[i] != a[len(a) - i - 1]:
 break
 else:
 j+=1
 i+=1
 if (j==len(a)):
 return True
 else:
 False
palavra = str(input("Digite uma palavra:"))
print(palindromo(palavra
if (palindromo(palavra)==True):
 print ("A palavra digitada nao um palindromo.")
else:
 print ("A palavra digitada nao e um palinndromo."
Exercicio 7
Cont = 0 
Frase 1 = input(“digite uma frase: ”)
Frase2 = input(“digite outra frase: ”)
For i in range (0, len(frase1)):
 For j in range (0, len(frase2)):
 If frase1 [i] == frase2 [j]:
 Cont +=1
 Break 
If cont == len(frase1):
 Print (“anagrama”)
Else 
Print (“nao e anagrama”)
Exercício 8 (antes da mudança)
vet=[1,8,5,6,7,3,0,4,2]
vet2=[]
for i in range (0,len(vet)):
 vet2.append(vet[vet[i]])
print vet2
Exercício 9
Mat = [ ]
For i in range (0,5):
 Mat.append(0)
 Mat.[i] = [ ]
 For j in range(0,5):
 If I == j:
 Mat[i].append(1)
 Else 
 Mat[j].append(0)
For line in mat:
 Print “%3d %3d %3d %3d” % tuple(line)
Exercício 10
print "Exercicio 10: Matriz transposta"
def mat_transposta(mat):
 matT = []
 for i in range(len(mat[0])):
 linha = []
 for j in range(len(mat)):
 linha.append(mat[j][i])
 matT.append(linha)
 return matT
M = list(input("Insira uma matriz:"))
MT = mat_transposta(M)
print "Matriz transposta:"
print MT
 
Exercicio 11
m=[
 [1,2,3],
 [4,5,6],
 ]
tran=[]
for j in range(0,len(m[0])):
 col=[]
 for i in range(0,len(m)):
 col.append(m[i][j])
 tran.append(col)
Exercício 12
Inport random
C = 0
For I in range (0, 4*10**6)
 X = random.random( )*2
 Z = random.random( )*2
 If x**2 + y**2 =< 4:
 C += 1
Print c/float (p**6)
exercício 13
l1, c1 = input('Escreva o numero de linhas e colunas da primeira matriz, separados por virgula')
l2, c2 = input('Escreva o numero de linhas e colunas da segunda matriz, separados por virgula')
if c1 != l2:
 print 'Erro, nao e possivel multiplicar essas matrizes'
else:
 def lerMat(l, c):
 print 'Escreva a matriz'
 m = []
 for i in range(0, l):
 m.append([])
 for j in range(0, c):
 m[i].append(input('escreva um numero'))
 return m
 def CriarMatrizVazia(l, c):
 matvazia = []
 for i in range(0, l):
 matvazia.append([])
 for j in range(0, c):
 matvazia[i].append(0)
 return matvazia
 def ProdutoMatiz(m1, m2):
 PROMAT = CriarMatrizVazia(len(m1), len(m2[0]))
 for i in range(0, len(m1)):
 for j in range(0, len(m2[0])):
 for k in range(0, len(m2)):
 PROMAT[i][j] += (m1[i][k]) * (m2[k][j])
 return PROMAT
 matriz_1 = lerMat(l1, c1)
 matriz_2 = lerMat(l2, c2)
 print matriz_1
 print matriz_2
 print ProdutoMatiz(matriz_1, matriz_2)
exercício 14
import math
def pi_raiz12(n):
 fats = 0.0
 for i in range(1,n):
 if i%2 == 1:
 fats += float(1.0/float(i**2))
 if i%2 == 0:
 fats -= float(1.0/float(i**2))
 r12 = 12*fats
 pi_r12 = math.sqrt(r12)
 return pi_r12
Num = int(input("Insira um numero inteiro positivo:"))
print ""
print "O valor aproximado de pi obtido pelo numero", Num, "foi de", pi_raiz12(Num), "."
exercício 15
l = []
for r in range (0,5):
 n = raw_input("Digite o numero")
 l.append (n)
 res = []
 for x in l:
 cont = 0
 for i in l:
 if x == i:
 cont += 1
 test = ''
 if cont != 1:
 test = '' + str(x) + '^' + str(cont) + ''
 else:
 test = '' + str(x)
 if test not in res:
 res.append(test)
print(res)
Exercício 16
Nome = raw_input(‘nome’)
A= nome.upper( )
Altura = input(‘altura’)
Ma = altura
Qma = 1
sa = 0
qsa = 0
print ‘nome:’, a, ‘altura’, altura
while a != MARIA
Nome = raw_input(“nome”)
A = Nome.upper( )
Altura = input(“altura”)
Print “Nome: “, a, ‘altura: ‘, altura
If altura > ma:
 As = ma 
 Ma = altura 
 Qsa = qma
 Qma =1
If altura > as and altura<ma
 As = altura 
 Qsa = 1
If altura = ma 
 Qma += 1
If altura = as
 Qsa += 1 
Print ‘maior altura ’, ma, ‘segunda maior altura’, as, ‘quantidade com maior altura’, qma, ’quantidade com seg maior altura’ ,qsa
Exercício 17
def percent():
	Qsim=0
	Qnao= 0
	Qhomem = 0
	for i in range (1, 2001):
		R = raw_input(‘gostou do produto? ’)
		Sexo= raw_input(‘sexo do entrevistado? ’)
	if r == sim:
		Qsim +=1
	else:
		Qnao +=1
	if sexo = “masculino”:
		Qhomens +=1
		P= qhomens/20
print ‘quantidade de sim = ’, qsim, ‘quantidade de não = ’, qnao, ‘percentagem de hosmens que responderam não: ’, p, ‘%’
Exercício 18
def nprimo ():
	primo = int(input('Numero: '))
	for i in range(2,primo):
		if i != primo:
			i = primo % i
		if i == 0:
			print ('Nao e primo')
		else:
			print ('Primo')
	print ('Fim')
Exercício 19
def nn_19():
	q = 0
	a = int(input(‘quantidade de primos’))
	n = 1
	while q<a:
		c = 0
	for i in range (1, n+1):
		if n% I ==0:
			c +=1
		if c == 2:
			q +=1
		print n, n+=1
Exercício 20
def perfeito ():
	N = int(input(‘numero’))
	Soma = 0
	for i in range (1,n):
		if n% j == 0:
			Soma += i
		if soma = n:
			print n, ‘e perfeito’
		else :
			print n, ‘não e perfeito’
Exercício 21
def numero ():
	Numero = 0
	Cont = 0
	while cont<4:
		Numero +=1
		Soma = 0
	for i in range (1, numero):
		if numero % i == 0:
			Soma += i
		if soma = numero:
			print numero
			Cont +=1
Exercício 22
def soma():
	Soma = 0
	N = int(input(‘N: ’))
for i in range (1, n+1)
Soma += 1/float(i)
print soma
Exercício 26
defpossivel():
	Soma = 0
	Qlado = int(input(‘quantidade de lado ‘))
	Lado = float(input(‘tamanho de um lado’))
	Nlado =lado
	for i in range (1, 7, lados)
	Lado = float(input(“tamanho de um lado”))
	if lado =< Nlado:
		print Lado
	else:
		Aux = nlado
		Nlado = lado
		Soma += aux
	if nlado < soma:
		print ‘é possivel’
	else:
		print ‘não é possivel’
Exercicio 23
cont100 = 1000
cont50 = 1000
cont20 = 1000
cont10 = 1000
cont5 = 1000
cont1 = 1000
verdade = True
while (verdade == True):
 saque = int(input("Insira o valor para ser sacado:"))
 if (saque >= 100):
 contS100 = saque / int(100)
 saque = int(saque % 100)
 cont100 -= contS100
 else:
 contS100 = 0
 if (saque >= 50):
 contS50 = saque / int(50)
 saque = int(saque % 50)
 cont50 -= contS50
 else:
 contS50 = 0
 if (saque >= 20 == 0):
 contS20 = saque / int(20)
 saque = int(saque % 20)
 cont20 -= contS20
 else:
 contS20 = 0
 if (saque >= 10):
 contS10 = saque / int(10)
 saque = int(saque % 10)
 cont10 -= contS10
 else:
 contS10 = 0
 if (saque >= 5):
 contS5 = saque / int(5)
 saque = int(saque % 5)
 cont5 -= contS5
 else:
 contS5 = 0
 contS1 = saque
 cont1 -= contS1
 if (cont100 < 0) or (cont50 < 0) or (cont20 < 0) or (cont10 < 0) or (cont5 < 0) or (cont1 < 0):
 verdade = False
 break
 if (contS100 > 0):
 print "Total de notas de 100 reais:", contS100
 if (contS50 > 0):
 print "Total de notas de 50 reais:", contS50
 if (contS20 > 0):
 print "Total de notas de 20 reais:", contS20
 if (contS10 > 0):
 print "Total de notas de 10 reais:", contS10
 if (contS5 > 0):
 print "Total de notas de 5 reais:", contS5
 if (contS1 > 0):
 print "Total de notas de 1 reais:", contS1
 print ""
print "A caixa eletronica nao possui notas suficientes."
Exercício 24
def numPrimo(num):
 contP = 0
 for i in range (2,num+1):
 if num%i == 0:
 contP += 1
 if contP > 1:
 return False
 else:
 return True
def numFib(num):
 fib1 = 0
 fib2 = 1
 fib = 0
 while fib < num:
 fib = fib1 + fib2
 fib1 = fib2
 fib2 = fib
 if fib == num:
 return True
 if fib > num:
 return False
N = int(input("Insira um numero inteiro para ser testado como um numero primo pertencente a sequencia de Fibonacci:"))
if (numPrimo(N) == True) and (numFib(N) == True):
 print "O numero", N, "eh um numero primo que pertence a sequencia de Fibonacci."
elif (numPrimo(N) == True) and (numFib(N) == False):
 print "O numero", N, "eh um numero primo que nao pertence a sequencia de Fibonacci."
elif (numPrimo(N) == False) and (numFib(N) == True):
 print "O numero", N, "nao eh um numero primo, mas pertence a sequencia de Fibonacci."
else:
 print "O numero", N, "nao eh um numero primo, como tambem nao pertence a sequencia de Fibonacci."
 
Exercício 25
print "Exercicio 25: Financiamento Price"
financ = 0
r = float(input("Insira a taxa de juros (ex.: 10% = 10):"))
pmt = int(input("Insira o valor das parcelas:"))
n = int(input("Insira o numero de parcelas:"))
r = r/100.0
for i in range(1,n+1):
 financ += pmt/(float(1 + r)**i)
print "O valor do financiamento sera de", financ, "reais."
Exercício 26
print "Exercicio 26: Viabilidade de um poligono"
soma = 0.0
ladoMaior = 0.0
print "Digite o comprimento de um dos lados do poligono"
n = float(input("(para finalizar o processo, digite 0)"))
while n > 0:
 if n > ladoMaior:
 soma += ladoMaior
 ladoMaior = n
 else:
 soma += n
 
 print "Digite o comprimento de um dos lados do poligono"
 n = float(input("(para finalizar o processo, digite 0)"))
if soma > ladoMaior:
 print "Este poligono eh possivel."
else:
 print "Este poligono eh impossivel."
Exercício 27
def raiz():
	Q1 = 0
	Q2 = 0
	X = -1001
	A = input(‘A: ’)
	B = input(‘B: ’)
	C = input(‘C: ’)
	D = input(‘D: ’)
	for I in range (1, 2002)
	X +=1
	if a*x**3 + b*x**2 + c*x + d >= 0:
		Q1 = 1
	if a*x**3 + b*x**2 + c*x + d <= 0:
		Q2 = 1
	if q1 ==1 and q2 ==1:
		print ‘tem raiz’
	else
	print ‘nao tem raiz’
Exercício 28
N = input('Escreva um numero')
B = input('Escreva a base desse numero')
C = N
S = 0
cont = 0
while True:
 D = (C % 10) * (B ** cont)
 S += D
 C /= 10
 cont += 1
 if C // 10 == 0 and C % 10 == 0:
 break
print(str(N) + ' em base decimal e ' + str(S))
 
EXERCICIO 29
def dec_to(n):
 output = ‘ ‘
 while true:
 table = (‘1’: ‘1’,’2’: ‘2’, ‘3’: ‘3’, ‘4’: ‘4’, ‘5’: ‘5’, ‘6’: ‘6’, ‘7’: ‘7’, ‘8’: ‘8’, ‘9’: ‘9’, ‘0’: ‘0’, ‘10’ : ‘A’, ‘11’: ‘B’, ‘12’: ‘C’, ‘14’: ‘D’, ‘15’: ‘E’, ‘16’: ‘F’ )
 output = table.get(str(n%16)) + output
 if n / 16 != 0:
 n /= 16
 elss:
 break
 return output
print (“o numero em base decimal e: “ +str(dec_to(input(‘escreva o numero convertido’)))
Exercício 30
def mmc_mdc():
	A = int(input(‘A’))
	B = int(input(‘B’))
	Cont = 0
	if a > 0:
		M1 = B
		M2 = A
	if b> a:
		M1 = a
		M2 = b
	for I in range (1, m1+1)
	if a% i == 0 and b%i == 0:
		Mdc = i
		Cont += 1
Mmc = (a+b)/mdc
print ‘mmc’ , mmc, ‘mdc’, mdc , ‘quantidade divisors comuns’ , cont
Exercício 31
def frase():
	Frase = raw_input(‘frase’)
	for i in range (0, len(frase))
	if ord(frase[i])%2 == 0:
		X = ord(frase[i])-3
		print chr(x)
 else:
		X=ord(frase[i])+3
		print chr(x)
Exercício 31
print "Exercicio 31: Cripitografia"
frase = raw_input("Insira uma frase para ser criptografada")
vCripta = []
for i in range(len(frase)):
 vCripta.append(ord(frase[i]))
for i in range(len(vCripta)):
 if (vCripta[i]%2 == 0):
 vCripta[i] = vCripta[i] - 3
 else:
 vCripta[i] = vCripta[i] + 3 
print " "
print "Frase criptografada em numeros (no codigo ASCII):"
print vCripta
print " "
frase = ''
for i in range(len(vCripta)):
 frase += str(chr(vCripta[i]))
print "Frase criptografada em letras (a partir de ASCII):"
print frase
exercício 32
def ex_32():
A = float(input('Digite o numero que deseja saber a raiz: '))
aux = 1
result = 0
for i in range(10):
 result = (aux+(A/aux))/2
 aux = result
print result
exercicio 33
from random import randint
cont_vic1 = 0
cont_vic2 = 0
for x in xrange(1, 12):
 p1d1, p1d2, p2d1, p2d2 = randint(1, 6), randint(1, 6), randint(1, 6), randint(1, 6)
 print('Jogador 1 dados valendo: ' + str(p1d1) + ' ' + str(p1d2))
 print('Jogador 2 dados valendo: ' + str(p2d1) + ' ' + str(p2d2))
 a = p1d1 == p1d2
 b = p2d1 == p2d2
 if ((not a) and (not b) and p1d1 + p1d2 > p2d1 + p2d2) or (a and (not b)) or (a and b and p1d1 > p2d1):
 cont_vic1 += 1
 elif ((not a) and (not b) and p1d1 + p1d2 < p2d1 + p2d2) or ((not a) and b) or (a and b and p1d1 < p2d1):
 cont_vic2 += 1
if cont_vic1 > cont_vic2:
 print('O jogador 1 e vitorioso')
elif cont_vic2 > cont_vic1:
 print('O jogador 2 e vitorioso')
else:
 print('Houve Empate')
exercício 34
print "Exercicio 34: Blackjack"
import random
def sortCarta(x):
 x = random.randint(1,13)
 if x > 10:
 x = 10
 return x
banca = 0
jogador = 0
print "Vez do jogador:"
for i in range(2):
 carta = sortCarta(0)
 if (carta == 1) and (jogador < 11):
 carta += 10
 jogador += carta
 print "pontos da carta:", carta
 print "pontos do jogador:", jogador
 print ""
if (jogador == 21):
 print "O jogador venceu a banca."
else:
 while (jogador < 21) or (resp == 'N'):
 print "O jogador ate agora tem", jogador, "pontos. Precione S"
 resp = raw_input("para receber mais uma carta,ou N para passar a vez para a banca")
 resp = resp.upper()
 while (resp != 'S') and (resp != 'N'):
 print "O jogador ate agora tem", jogador, "pontos. Precione S"
 resp = raw_input("para receber mais uma carta, ou N para passar a vez para a banca")
 resp = resp.upper()
 if (resp == 'S'):
 carta = sortCarta(0)
 if (carta == 1) and (jogador < 11):
 carta += 10
 jogador += carta
 print "pontos da carta:", carta
 print "pontos do jogador:", jogador
 break
 else:
 break
 if (jogador == 21):
 print "O jogador venceu a banca."
 elif (jogador > 21):
 print "O jogador estorou. A banca venceu."
 else:
 print ""
 print ""
 print "Vez da banca:"
 while (banca < jogador) and (banca < 21):
 carta = sortCarta(0)
 if (carta == 1) and (banca < 11):
 carta += 10
 banca += carta
 print "pontos da carta:", carta
 print "pontos da banca:", banca
 print ""
 if (banca == 21):
 print "A banca venceu o jogador."
 if (banca > 21):
 print "A banca estorou. O jogador venceu."
 elif (banca > jogador) and (banca < 21):
 print "A banca venceu o jogador." 
exercício 35
T = input('Escreva um numero positivo')
opcoes = []
for i in range(0, 3):
 opcoes.append(input('Escreva um numero'))
rodada = 0
while True:
 jogada = 0
 while jogada not in opcoes:
 jogada = input('Escreva o numero a ser subtraido')
 T -= jogada
 if rodada % 2 != 0 and T < 0:
 print 'Jogador 1 e vitorioso'
 break
 elif T < 0:
 print 'Jogador 2 e vitorioso'
 break
 print 'Rodada ', rodada + 1, ', ', T
 rodada += 1
Exercicio 36
from datetime import datetime
def diff_dias(date1, date2):
 d1 = datetime.strptime(date1, "%d-%m-%Y")
 d2 = datetime.strptime(date2, "%d-%m-%Y")
 return abs((date2 - date1).days)
Questao 37
def Criar_Matriz_Aleatoria(i, j):
 from random import randint
 matriz = []
 for x in range(0, i):
 l = []
 for y in range(0, j):
 l.append(randint(0, 100))
 matriz.append(l)
 return matriz
def Calcular_Determinante(matriz):
 det = 0
 for i in range(0, len(matriz[0])):
 diagonal = 1
 diagonal_reversa = 1
 for j in range(0, len(matriz)):
 diagonal = diagonal * matriz[(j) % len(matriz)][(j+i) % len(matriz)]
 diagonal_reversa = diagonal_reversa * matriz[(j) % len(matriz)][(len(matriz)-1-j+i) % len(matriz)]
 det += diagonal - diagonal_reversa
 return det
mat = Criar_Matriz_Aleatoria(3, 3)
print mat
print Calcular_Determinante(mat)
exercício 38
print "Digite os valores para: \n"
a = input("a = ")
b = input("b = ")
c = input("c = ")
r1 = input("r1 = ")
d = input("d = ")
e = input("e = ")
f = input("f = ")
r2 = input("r2 = ")
g = input("g = ")
h = input("h = ")
i = input("i = ")
r3 = input("r3 = ")
vet = [0 ,0 ,0]
det = ((a * e * i) + (b * f * g) + (c * d * h)) - ((c * e * g) + (a * f * h) + (b * d * i))
detx = ((r1 * e * i) + (b * f * r3) + (c * r2 * h)) - ((c * e * r3) + (r1 * f * h) + (b * r2 * i))
dety = ((a * r2 * i) + (r1 * f * g) + (c * d * r3)) - ((c * r2 * g) + (a * f * r3) + (r1 * d * i))
detz = ((a * e * r3) + (b * r2 * g) + (r1 * d * h)) - ((r1 * e * g) + (a * r2 * h) + (b * d * r3))
if det == 0:
 print "Sistema Impossivel. \n", "Vet = [ ]"
else:
 x = (detx / det)
 y = (dety / det)
 z = (detz / det)
 for i in range (0,2):
 vet[0] = x
 vet[1] = y
 vet[2] = z
 print "Vetor Solucao: ", vet
Questao 40
def criar_vetor_aleatoro(l):
 from random import randint
 vector = []
 for i in range(0, l):
 vector.append(randint(0, 100))
 return vector
def ordenar_vetor(vet):
 for x in range(0, len(vet) - 1):
 for y in range(x + 1, len(vet)):
 if vet[x] > vet[y]:
 vet[x], vet[y] = vet[y], vet[x]
 return vet
vetor = criar_vetor_aleatoro(input('Escreva o comprimento do vetor desejado'))
print vetor
print ordenar_vetor(vetor)
exercício 41
print 'O ARQUIVO entrada.txt DEVE ESTAR SALVO EM c:\ PARA FUNCIONAR \n'
#Abrimos e "criamos" um arquivo aqui
entrada = open('c:\entrada.txt','r')
saida = open('saida.txt','w')
#Lemos e atribuimos a uma string
string = entrada.read()
string = string.swapcase()
#Adicionamos a string ao arquivo com tudo ja arrumado pelo swapcase
saida.write(string)
#Fechando os arquivos
entrada.close()
saida.close()
print 'O programa foi executado com sucesso, se voce usa o PyCharm verifique o\narquivo de saida na pasta do programa. :-)'
exercício 42
print('O ARQUIVO entrada.txt DEVE ESTAR SALVO EM c:\ PARA FUNCIONAR \n')
entrada = open('c:\entrada.txt','r')
string = entrada.read()
string = string.upper()
vetor = list(string)
vetor.sort()
strSaida = ''
for i in range(len(string)):
 if i == 0:
 count = vetor.count(vetor[i])
 strSaida = strSaida+vetor[i]+' '+str(count)+'\n'
 else:
 if vetor[i]==vetor[i-1]:
 strSaida = strSaida+''
 else:
 count = vetor.count(vetor[i])
 strSaida = strSaida+vetor[i]+' '+str(count)+'\n'
saida = open('saida.txt','w')
saida.write(strSaida)
entrada.close()
saida.close()
questao 43
print "area"
from math import sqrt
a = float(input("Informe o valor do lado do triangulo:"))
b = float(input("Informe o valor do lado do triangulo:"))
c = float(input("Informe o valor do lado do triangulo:"))
s = ((a+b+c)/2)
area = sqrt(s*((s-a)*(s-b)*(s-c)))
print "A area do triangulo eh:", area
Exercício 44 
print "Exercicio 44: Area de um triangulo por matriz"
p1 = list(input("Digite as coordenadas do primeiro ponto (ex.: [1,2,3]):"))
p2 = list(input("Digite as coordenadas do segundo ponto (ex.: [2,3,4]):"))
p3 = list(input("Digite as coordenadas do terceiro ponto (ex.: [3,4,5]):"))
def vetor(pi,pf):
 vr = []
 for i in range(len(pf)):
 vr.append(0)
 
 for i in range(len(pf)):
 vr[i] = pf[i] - pi[i]
 return vr
u = [] 
u = vetor(p1,p2)
v = [] 
v = vetor(p1,p3)
def areaTRIANGULOmatriz(v1,v2):
 det = ((1)*(v1[1])*(v2[2])) + ((1)*(v1[2])*(v2[0])) + ((1)*(v1[0])*(v2[1]))
 det -= ((1)*(v1[1])*(v2[0])) + ((1)*(v1[0])*(v2[2])) + ((1)*(v1[2])*(v2[1]))
 if det < 0:
 det = float(det * (-1))
 
 area = float(det)/2.0
 if area == 0:
 return False
 else:
 return area
areaT = areaTRIANGULOmatriz(u,v)
if areaT == False:
 print "Os vetores dados nao formam um triangulo."
else:
 print "A area do trinagulo eh:", areaT
Exercício 46 
print "Exercicio 46: Numero inteiro para numero romano"
num = int(input("Insira um numero inteiro:"))
num = str(num)
arabia = [3000,2000,1000,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1,0]
roma = ['MMM','MM','M','CM','DCCC','DCC','DC','D','CD','CCC','CC','C','XC','LXXX','LXX','LX','L','XL','XXX','XX','X','IX','VIII','VII','VI','V','IV','III','II','I','']
v = []
for i in range(len(num)):
 v.append(0)
for i in range(len(num)):
 zeros = 1
 for j in range(i):
 zeros = zeros * 10
 v[len(num) -1 - i] = int(num[len(num) -1 - i]) * zeros
for i in range(len(roma)):
 for j in range(len(v)):
 if arabia[i] == v[j]:
 v[j] = roma[i]
romanos = ''
for i in range(len(num)):
 romanos = str(romanos) + str(v[i])
print "O numero inteiro", num, "em numeros romanos eh:"
print romanos
exercício 47
print "Exercicio 47: Numero romano para numero inteiro"
roma = ['CM','CD','XC','XL','IX','IV','MMM','MM','M','DCCC','DCC','DC','D','CCC','CC','C','LXXX','LXX','LX','L','XXX','XX','X','VIII','VII','VI','V','III','II','I']arabia = [900,400,90,40,9,4,3000,2000,1000,800,700,600,500,300,200,100,80,70,60,50,30,20,10,8,7,6,5,3,2,1]
N = raw_input("Insira um numero romano:")
N = N.upper()
print " "
print "O numero romano", N, "equivale ao numero inteiro hindo-arabico:"
num = 0
for i in range(len(roma)):
 if roma[i] in N:
 N = N.replace(roma[i],'Y')
 num += int(arabia[i])
print num
exercício 48
def fat_primo(num):
 resp = []
 for i in range(2,num+1):
 cont = 0
 while num%i == 0:
 cont += 1
 num = num/i
 if cont > 0:
 i = str(i)
 cont = str(cont)
 ajuda = i + '^' + cont 
 resp.append(str(ajuda))
 if num == 1:
 break
 return resp
N = int(input("Inserir um numero inteiro positivo:"))
RespN = fat_primo(N)
print ""
print "Sua decomposicao eh:"
print RespN
Exercicio 54
def simplificador(a,b):
 for i in range(2,a+1):
 while (a%i == 0) and (b%i == 0):
 a = int(a)/i
 b = int(b)/i
 return a, b
print "Insira suas fracoes de seguinte maneira:"
frac = list(input("1/2 + 1/3 - 1/4 = [[1,2],[1,3],[-1,4]]:"))
dividendo = 0
divisor = 1
for i in range(len(frac)):
 divisor = divisor * frac[i][len(frac[0])-1]
 ajudacorta = frac[i][1]
 ajuda = int(frac [i][0])
 for i in range (len(frac)):
 ajuda = int(ajuda) * frac[i][len(frac[0])-1]
 ajuda = int(ajuda) / ajudacorta
 dividendo += int(ajuda)
print " "
print "O resultado do somatorio das fracoes acima eh:"
if int(dividendo) < 0:
 dividendo = int(dividendo) * int(-1)
 if divisor > dividendo:
 m = dividendo
 M = divisor
 m, M = simplificador(m,M)
 m = str(m)
 M = str(M)
 print "-",m, "/", M 
 
 else:
 m = divisor
 M = dividendo
 simplificador(m,M)
 m, M = simplificador(m,M)
 m = str(m)
 M = str(M)
 print "-",M, "/", m 
else:
 if divisor > dividendo:
 m = dividendo
 M = divisor
 m, M = simplificador(m,M)
 m = str(m)
 M = str(M)
 print m, "/", M 
 
 else:
 m = divisor
 M = dividendo
 simplificador(m,M)
 m, M = simplificador(m,M)
 m = str(m)
 M = str(M)
 print M, "/", m 
Exercício 55
def pabens(x):
 p = (1.0/365)**x
 for i in range((366-x),366):
 p *= i
 return 1-p

Outros materiais