Baixe o app para aproveitar ainda mais
Prévia do material em texto
[13] - Faça um programa para uma loja de tintas. O programa deverá pedir o tamanho em metros quadrados da área a ser pintada. Considere que a cobertura da tinta é de 1 litro para cada 3 metros quadrados e que a tinta é vendida em latas de 18 litros, que custam R$ 80,00. Informe ao usuário a quantidades de latas de tinta a serem compradas e o preço total import math area = float ( raw_input("Metros Quadrados de Area? ")) # 1 - lata tem 18l # 1 - litro pinta 3 metros quadrados # 1 - lata pinta 18 * 3 metros quadrados # 1 - lata custa R$ 80,00 if area < 54: latas = 1 preco = 80 else: latas = int ( math.ceil(area / 54)) preco = latas * 80 if latas == 1: print "%d lata \t preco R$ %.2f " % (latas, preco) elif latas > 1: print "%d latas \t preco R$ %.2f" % (latas, preco) [17] - Faça um Programa que verifique se uma letra digitada é vogal ou consoante. letra = raw_input("Letra? ") #transforme em minusculo... letra = letra.lower() if letra >= "a" and letra <= "z": # eh uma letra? if letra=="a" or letra=="e" or letra=="i" or letra=="o" or letra=="u": print letra, "eh uma vogal." else: print letra, "eh uma consoante." else: print "isso nao eh letra!" Faça um programa que pergunte o preço de três produtos e informe qual produto você deve comprar, sabendo que a decisão é sempre pelo mais barato. preco1 = float ( raw_input("Preco do Produto 1? ")) preco2 = float (raw_input("Preco do Produto 2? ")) preco3 = float (raw_input("Preco do Produto 3? ")) #colocar um linha em branco print if preco1 < 0 or preco2 < 0 or preco3 < 0: print "Um ou mais Valores invalido foi informado!" #caso 1: o preco 1 eh o menor... elif preco1 < preco2 < preco3 or preco1 < preco3 < preco2: print "Compre o produto 1!" #caso 2: o preco 2 eh o menor... elif preco2 < preco1 < preco3 or preco2 < preco3 < preco1: print "Compre o produto 2!" #caso 3: o preco 3 eh o menor... elif preco3 < preco1 < preco2 or preco3 < preco2 < preco1: print "Compre o produto 3!" elif preco1 == preco2 and preco2 == preco3: print "compre qualquer um dos produtos: mesmo preco!" [12] - Faça um Programa que peça 2 números inteiros e um número real. Calcule e mostre: (a) o produto do dobro do primeiro com metade do segundo . (b) a soma do triplo do primeiro com o terceiro. (c) o terceiro elevado ao cubo. numero1 = int (raw_input("Inteiro n1? ")) numero2 = int (raw_input("Inteiro n2? ")) numero3 = float (raw_input("Float n3? ")) print " 2*n1*(n2/2) = ", 2*numero1 * (numero2/2) print " 3*n1 + n3 = ", 3*numero1 + numero3 print " n3 ao cubo = ", numero3*numero3*numero3 [13] Faça um programa que recebe o salário de um colaborador e o reajuste segundo o seguinte critério, baseado no salário atual: salários até R$ 280,00 (incluindo) : aumento de 20% salários entre R$ 280,00 e R$ 700,00 : aumento de 15% salários entre R$ 700,00 e R$ 1500,00 : aumento de 10% salários de R$ 1500,00 em diante : aumento de 5% Após o aumento ser realizado, informe na tela: o salário antes do reajuste; o percentual de aumento aplicado; o valor do aumento; o novo salário, após o aumento. salario = float ( raw_input("Salario? ")) if salario < 0: print "salario Invalido!" else: if 0 < salario <= 280: reajuste = salario * 0.20 #0.20 = 20/100 = 20% percentual = 20 elif 280 < salario < 700: reajuste = salario * 0.15 #0.15 = 15/100 = 15% percentual = 15 elif 700 <= salario < 1500: reajuste = salario * 0.10 # 0.10 = 10/100 = 10% percentual = 10 elif salario >= 1500: reajuste = salario * 0.05 # 0.05 = 5/100 = 5% percentual = 5 print "Salario: \t\t R$ %.2f" % salario print "percentual: \t\t (%d)%%" % percentual print "Aumento: \t\t R$ %.2f" % reajuste print "Novo Salario:\t\t R$ %.2f" % (salario + reajuste) Faca um programa para o calculo de uma folha de pagamento, # sabendo que os descontos dependem do salario bruto. Desconto do IR: Salário Bruto até 900 (inclusive) - isento Salário Bruto até 1500 (inclusive) - desconto de 5% Salário Bruto até 2500 (inclusive) - desconto de 10% Salário Bruto acima de 2500 - desconto de 20% Imprima na tela as informações, dispostas conforme o exemplo abaixo. No exemplo o valor da hora é 5 e a quantidade de hora é 220. Salario Bruto (5 * 220) : R$ 1100.00 (-) Sindicato (3%) : R$ 33.00 (-) IR (5%) : R$ 55.00 (-) INSS(10%) : R$ 110.00 FGTS(11%) : R$ 121.00 Total de Descontos : R$ 198.00 Salario Liquido : R$ 902.00 ora_trabalhadas = int ( raw_input ("Horas trabalhadas no mes? ")) salario_bruto = valor_hora * hora_trabalhadas if salario_bruto < 0: print "Salario Invalido!" else: if salario_bruto <= 900: imposto_renda = 0.0 elif 900 < salario_bruto <= 1500: imposto_renda = salario_bruto * 0.05 elif 1500 < salario_bruto <= 2500: imposto_renda = salario_bruto * 0.10 elif salario_bruto > 2500: imposto_renda = salario_bruto * 0.20 sindicato = salario_bruto * 0.03 inss = salario_bruto * 0.10 fgts = salario_bruto * 0.11 # Apenas por questoes de espaco para o post do codigo # aqui no blog vou fazer com as variaveis, para reduzir # os nomes, porem isso nao eh necessario. vh = valor_hora ht = hora_trabalhadas sb = salario_bruto # podem usar = (valor_hora, ..., salario_bruto) descontos = imposto_renda + inss + sindicato liquido = salario_bruto - descontos print "Salario Bruto (%d * %d) \t\t: R$ %.2f" % (vh, ht,sb) print "(-) Sindicato (3%%)\t\t\t: R$ %.2f" % (sindicato) print "(-) IR (5%%) \t\t\t: R$ %.2f" % ( imposto_renda ) print "(-) INSS(10%%) \t\t\t: R$ %.2f" % ( inss ) print "FGTS(11%%) \t\t\t: R$ %.2f" % ( fgts) print "Total de Descontos \t\t: R$ %.2f" % (descontos) print "Salario Liquido \t\t: R$ %.2f" % (liquido) Faça um programa que lê as duas notas parciais obtidas por um aluno numa disciplina ao longo de um semestre, e calcule a sua média. A atribuição de conceitos obedece à tabela abaixo: Média de Aproveitamento Conceito Entre 9.0 e 10.0 A Entre 7.5 e 9.0 B Entre 6.0 e 7.5 C Entre 4.0 e 6.0 D Entre 4.0 e zero E nota1 = float ( raw_input("Nota01? ")) nota2 = float ( raw_input("Nota02? ")) media = (nota1 + nota2 ) / 2.0 if 9.0 < media <= 10.0: conceito = "A" elif 7.5 < media <= 9.0: conceito = "B" elif 6.0 < media <= 7.5: conceito = "C" elif 4.0 < media <= 6.0: conceito = "D" elif 0.0 < media <= 4.0: conceito = "E" print "Nota1 = %.2f , Nota2 = %.2f" % (nota1, nota2) print "Media = %.2f" % (media), print " Conceito: ", conceito if conceito == "A" or conceito =="B" or conceito == "C": print "Aprovado!" else: print "Reprovado!" Verificar se é triângulo isosceles, equiláteros, escaleno a = float (raw_input("Lado A? ")) b = float (raw_input("Lado B? ")) c = float (raw_input("Lado C? ")) if a <= 0 or b <= 0 or c <= 0: print "Valor invalido em um dos lados!" elif a+b > c and a+c > b and b+c > a: if a==b and b==c: #transitividade a==c print "Triangulo Equilatero" elif a != b and b != c and a != c: print "Triangulo Escaleno" elif a==b or a==c or b==c: print "Triangulo Isosceles" if a**2 == b**2+c**2 or b**2 == a**2 + c**2 or c**2 == a**2 + b**2:print "Triangulo Retangulo" else: print "Nao forma um Triangulo!" Faça um programa que calcule as raízes de uma equação do segundo grau, na forma ax2 + bx + c. O programa deverá pedir os valores de a, b e c e fazer as consistências, informando ao usuário nas seguintes situações: a. Se o usuário informar o valor de A igual a zero, a equação não é do segundo grau e o programa não deve fazer pedir os demais valores, sendo encerrado; b. Se o delta calculado for negativo, a equação não possui raízes reais. Informe ao usuário e encerre o programa; c. Se o delta calculado for igual a zero a equação possui apenas uma raiz real; informe-a ao usuário; d. Se o delta for positivo, a equação possui duas raiz reais; informe-as ao usuário; import math a = float (raw_input("coeficiente A? ")) if a==0: print "Nao eh uma equacao do segundo Grau!" else: b = float (raw_input("coeficiente B? ")) c = float (raw_input("coeficiente C? ")) delta = b**2 - 4*a*c if delta < 0: print "Nao há Raizes Reais!" else: x1 = ( - b + math.sqrt(delta) ) / 2*a x2 = ( - b - math.sqrt(delta) ) / 2*a print "x' = %.2f ou x'' = %.2f " % (x1, x2) Faça um Programa que peça uma data no formato dd/mm/aaaa e determine se a mesma é uma data válida. def isBissexto(ano): return ano%4== 0 and ano%100 != 0 or ano % 400==0 data = raw_input("Data dd/MM/yyyy? ") try: array_data = data.split("/"); dia = int (array_data[0]) mes = int (array_data[1]) ano = int (array_data[2]) mesDe31 = [1,3,5,7,8,10,12] mesDe30 = [2,4,6,9,11] if dia in range(1,32) and mes in range(1,13) and ano >0: if dia==31 and mes in mesDe31 or dia==30 and mes in mesDe30 or dia==28 and mes==2 or dia==29 and isBissexto(ano): print "Data Valida!" else: print "Data invalida!" else: print "Data invalida!" except: print "Formato de data informado foi incoreto!" Faça um Programa para um caixa eletrônico. O programa deverá perguntar ao usuário a valor do saque e depois informar quantas notas de cada valor serão fornecidas. As notas disponíveis serão as de 1, 5, 10, 50 e 100 reais. O valor mínimo é de 10 reais e o máximo de 600 reais. O programa não deve se preocupar com a quantidade de notas existentes na máquina. a. Exemplo 1: Para sacar a quantia de 256 reais, o programa fornece duas notas de 100, uma nota de 50, uma nota de 5 e uma nota de 1; b. Exemplo 2: Para sacar a quantia de 399 reais, o programa fornece três notas de 100, uma nota de 50, quatro notas de 10, uma nota de 5 e quatro notas de 1. valor = int ( raw_input("Valor do Saque? ")) if valor < 10 or valor > 600: print "Quantia nao permitida para saques!" else: notas_100=valor/100 notas_50=( valor-(notas_100*100))/50 notas_10=(valor-(notas_100*100+notas_50*50))/10 notas_5=(valor-(notas_100*100+notas_50*50+notas_10*10))/5 notas_1=(valor-(notas_100*100+notas_50*50+notas_10*10+notas_5*5)) print "%d de 100, %d de 50, %d de 10, %d de 5 e %d de 1" % (notas_100, notas_50, notas_10, notas_5, notas_1 ) Faça um Programa que peça um número e informe se o número é inteiro ou decimal. Dica: utilize uma função de arredondamento. numero = float ( raw_input("Numero? ")) aux = numero - int( numero) if aux == 0: print numero, "eh um inteiro!" else: print numero, "eh um float!" Faça um programa que faça 5 perguntas para uma pessoa sobre um crime. As perguntas são: 1. "Telefonou para a vítima?" 2. "Esteve no local do crime?" 3. "Mora perto da vítima?" 4. "Devia para a vítima?" 5. "Já trabalhou com a vítima?" O programa deve no final emitir uma classificação sobre a participação da pessoa no crime. Se a pessoa responder positivamente a 2 questões ela deve ser classificada como "Suspeita", entre 3 e 4 como "Cúmplice" e 5 como "Assassino". Caso contrário, ele será classificado como "Inocente". def ehVerdade( resposta ): #verifique se o valor eh valido if resposta.lower() != 's' and resposta.lower() != 'n': print "Valor invalido foi informado!" return False return resposta.lower() == 's' #classifica a participacao da pessoa no crime # return uma string informando a participacao. def classifica( OquantoParticipouNoCrime ): if OquantoParticipouNoCrime == 2: return "Suspeita" if OquantoParticipouNoCrime == 3 or OquantoParticipouNoCrime ==4: return "Cumplice" if OquantoParticipouNoCrime == 5: return "Assassino" else: return "Inocente" participacaoNoCrime = 0 resposta = raw_input("Telefonou para a vitima <S/N>? ") if ehVerdade(resposta): participacaoNoCrime +=1 resposta = raw_input("Esteve no Local do Crime <S/N>? ") if ehVerdade(resposta): participacaoNoCrime +=1 resposta = raw_input("Mora perto da vitima <S/N>? ") if ehVerdade(resposta): participacaoNoCrime +=1 resposta = raw_input("Devia para a vitima <S/N>? ") if ehVerdade(resposta): participacaoNoCrime +=1 resposta = raw_input("Ja trabalhou com a vitima <S/N>? ") if ehVerdade(resposta): participacaoNoCrime +=1 print "\n Voce eh %s " % classifica( participacaoNoCrime ) Uma fruteira está vendendo frutas com a seguinte tabela de preços: Até 5 Kg Acima de 5 Kg Morango R$ 2,50 por Kg R$ 2,20 por Kg Maçã R$ 1,80 por Kg R$ 1,50 por Kg Se o cliente comprar mais de 8 Kg em frutas ou o valor total da compra ultrapassar R$ 25,00, receberá ainda um desconto de 10% sobre este total. Escreva um algoritmo para ler a quantidade (em Kg) de morangos e a quantidade (em Kg) de maças adquiridas e escreva o valor a ser pago pelo cliente. MORANGOS = 2.5 MACAS = 1.8 kilos_morangos = float ( raw_input("Quantidade de Morangos em Kg? ")) kilos_macas = float ( raw_input ("Quantidade de Macas em Kg? ")) if kilos_morangos < 0 or kilos_macas < 0: print "Quantidade em Kg invalida!" else: if kilos_morangos > 5: MORANGOS = 2.2 preco_morangos = MORANGOS * kilos_morangos if kilos_macas > 5: MACAS = 1.5 preco_macas = MACAS * kilos_macas precoTotal = preco_morangos + preco_macas kilosTotal = kilos_morangos + kilos_macas if precoTotal > 25 or kilosTotal > 8: precoTotal -= precoTotal * 0.10 print "Preco da Compra R$ = %.2f" % precoTotal CUPOM FISCAL O Hipermercado Tabajara está com uma promoção de carnes que é imperdível. Confira: ... Até 5 Kg Acima de 5 Kg File Duplo R$ 4,90 por Kg R$ 5,80 por Kg Alcatra R$ 5,90 por Kg R$ 6,80 por Kg Picanha R$ 6,90 por Kg R$ 7,80 por Kg Para atender a todos os clientes, cada cliente poderá levar apenas um dos tipos de carne da promoção, porém não há limites para a quantidade de carne por cliente. Se compra for feita no cartão Tabajara o cliente receberá ainda um desconto de 5% sobre o total a compra. Escreva um programa que peça o tipo e a quantidade de carne comprada pelo usuário e gere um cupom fiscal, contendo as informações da compra: Tipo e quantidade de carne, Preço total, Tipo de pagamento, Valor do desconto e valor a pagar. global FILEDUPLO global ALCATRA global PICANHA FILEDUPLO= 4.9 ALCATRA = 5.9 PICANHA = 6.9 #verificar se foi informado um tipo valido # parametro: o tipo de carne # return: True caso seja valido , ou False caso invalido def ehUmTipoDeCarne( tipo ): #converta em minusculo tipo = tipo.lower() return tipo == 'f' or tipo =='a' or tipo =='p' #valida a quantidade de kilos informada. # parametros: a quantidade de kilos # return : um True ou False def quantidadeValida( kilos ): return kilos > 0 #verifica se a forma de pagamento eh valida. # parametros: a forma de pagamento # return: um True ou False def ehUmaFormaDePagamento( forma ): forma = forma.lower() return forma == 'd' or forma == 'c' #Calcular o preco da compra # Parametros: o tipo da carne e a quantidade de carne # Return: O preco da compra def calculaPreco( tipo, kilos ): global FILEDUPLO global ALCATRA global PICANHA tipo = tipo.lower() if kilos > 5: FILEDUPLO = 5.8 ALCATRA = 6.8 PICANHA = 7.8 if tipo == 'f': preco = FILEDUPLO * kilos if tipo == 'a': preco = ALCATRA * kilos if tipo == 'p': preco = PICANHA * kilos return preco # Dar um desconto de 5% na compra, caso seja feita # como o cartao Tabajara # Parametros: o valor da compra e a forma de pagamento # Return: o valor do desconto def darDesconto( valorDaCompra , forma ): forma = forma.lower() if forma == 'c': return valorDaCompra * 0.05 else: return 0.0 # Exibir uma string com o nome do tipo de carne # Parametro: o tipo de carne # Return: o nome desse tipo def mostraTipo( tipo ): tipo = tipo.lower() if tipo == 'f': return "FILE DUPLO" elif tipo == 'a': return "ALCATRA" elif tipo == 'p': return "PICANHA" def mostraFormaDePagamento( forma ): forma = forma.lower() if forma == 'd': return "DINHEIRO" elif forma == 'c': return "CARTAO TABAJARA" # Imprimir o Cupom Fiscal da nota. def gereCupomFiscal( tipo, kilos, forma): valor = calculaPreco(tipo, kilos) valorDaNota = valor - darDesconto(valor, forma) print "======= CUPOM FISCAL TABAJARA =======" print "Tipo de Carne: \t %s" % mostraTipo(tipo) print "Quantidade: \t %d kg" % kilos print "Forma de Pag.: \t %s " % mostraFormaDePagamento( forma ) print "Valor Total: \t R$ %.2f" % calculaPreco(tipo , kilos) print "Valor Desconto: \t R$ %.2f" % darDesconto(valor, forma) print "Valor a Pagar: \t R$ %.2f" % valorDaNota print print "======= Programado em python ========" #leitura de dados tipo_de_carne = raw_input("F-File Duplo, A-Alcatra ou P-Picanha? ") if not ehUmTipoDeCarne( tipo_de_carne ): print "Tipo de Carne Invalido!" else: kilos_de_carne = float (raw_input("Quantidade de carne[Kg]? ")) if not quantidadeValida( kilos_de_carne ): print "Quantidade de Kilos invalida!" else: forma_de_pagamento = raw_input("D-Dinheiro ou C-Cartao Tabajara? ") if not ehUmaFormaDePagamento( forma_de_pagamento ): print "Forma de Pagamento Invalida!" else: gereCupomFiscal( tipo_de_carne,kilos_de_carne,forma_de_pagamento) Faça um programa que leia e valide as seguintes informações: Nome: maior que 3 caracteres; Idade: entre 0 e 150; Salário: maior que zero; Sexo: 'f' ou 'm'; Estado Civil: 's', 'c', 'v', 'd'; nome = "" while len(nome) <= 3: nome = raw_input("Nome? ") idade = -1 while idade < 0 or idade > 150: idade = int (raw_input("Idade? ")) salario = -1.0 while salario <= 0: salario = float ( raw_input("Salario? ")) sexo = "" while sexo.lower() != 'f' and sexo.lower() != 'm': sexo = raw_input("Sexo [m/f]? ") estadoCivil = "" while estadoCivil!='s' and estadoCivil!='c' and estadoCivil!='v' and estadoCivil!='d': estadoCivil = raw_input("Estado Civil [s/c/v/d]? ") CRESCIMENTO POPULACIONAL. Supondo que a população de um país A seja da ordem de 80000 habitantes com uma taxa anual de crescimento de 3% e que a população de B seja 200000 habitantes com uma taxa de crescimento de 1.5%. Faça um programa que calcule e escreva o número de anos necessários para que a população do país A ultrapasse ou iguale a população do país B, mantidas as taxas de crescimento. Altere o programa permitindo ao usuário informar as populações e as taxas de crescimento iniciais. Permita repetir a operação. populacao_A = 0 TAXA_CRESC_A = 0 populacao_B = 1 TAXA_CRESC_B = 0 resposta = 's' while resposta.lower() == 's': populacao_A = int ( raw_input("Populacao de A? ")) TAXA_CRESC_A = float (raw_input("Taxa de Crescimento de A? ")) populacao_B = int ( raw_input("Populacao de B? ")) TAXA_CRESC_B = float (raw_input("Taxa de Crescimento de B? ")) ano = 0 while populacao_A < populacao_B: populacao_A += populacao_A * TAXA_CRESC_A populacao_B += populacao_B * TAXA_CRESC_B ano +=1 print "Ano: %02d \tA:%7d \tB:%7d " %(ano, populacao_A, populacao_B) resposta = raw_input("Deseja continuar[S/N]? ") Faça um programa que imprima na tela os números de 1 a 20, um abaixo do outro. Depois modifique o programa para que ele mostre os números um ao lado do outro. numero = 1 while numero <= 20: print numero numero +=1 numero = 1 while numero <= 20: print numero, numero +=1 Faça um programa que leia 5 números e informe o maior número. contador = 1 maior = None while contador <= 5: numero = int (raw_input("Numero? ")) if maior == None or numero > maior: maior = numero contador += 1 print "O maior eh %d" % maior Faça um programa que imprima na tela apenas os números ímpares entre 1 e 50. i = 1 while i <= 50: if i % 2 != 0: print i, i += 1 Faça um programa que receba dois números inteiros e gere os números inteiros que estão no intervalo compreendido por eles. inicio = int (raw_input("Inicio? ")) fim = int (raw_input("Fim? ")) if fim < inicio: for i in range(inicio-1, fim,-1): print i, else: for i in range(inicio+1, fim): print i, Faça um programa que receba dois números inteiros e gere os números inteiros que estão no intervalo compreendido por eles inicio = int (raw_input("Inicio? ")) fim = int (raw_input("Fim? ")) soma = 0 if fim < inicio: for i in range(inicio-1, fim,-1): print i, soma += i else: for i in range(inicio+1, fim): print i, soma += i print "\nA soma eh: ", soma Desenvolva um gerador de tabuada, capaz de gerar a tabuada de qualquer número inteiro entre 1 a 10. O usuário deve informar de qual numero ele deseja ver a tabuada. A saída deve ser conforme o exemplo abaixo numero = int (raw_input("Numero? ")) print "Tabuada de Numero: " , numero for i in range(1,11): print ("%3d X %3d = %6d") % (numero, i, i * numero) Faça um programa que peça dois números, base e expoente, calcule e mostre o primeiro número elevado ao segundo número. Não utilize a função de potência da linguagem. ux = 0 # auxiliar para tratar potencias negativas base = float ( raw_input("Base? ")) expoente = int ( raw_input("Expoente? ")) #2^3 = 2*2*2 #2^ -1 = 1/2 #2^ -2 = 1 / 2^2 if expoente < 0: expoente *= -1 aux = - expoente exponencial = 1 i = 1 while i <= expoente: exponencial *= base i +=1 if aux <0:exponencial = 1 /exponencial print "%d elevado a - %d = %.5f" %(base,expoente,exponencial) else: print "%d elevado a %d = %.5f" %(base,expoente,exponencial) A série de Fibonacci é formada pela seqüência 1,1,2,3,5,8,13,21,34,55,... Faça um programa capaz de gerar a série até o n−ésimo termo. termo = int (raw_input("N-esimo termo? ")) a = 1 b = 0 for i in range(termo): a, b = b, a + b print b, A série de Fibonacci é formada pela seqüência 0,1,1,2,3,5,8,13,21,34,55,... Faça um programa que gere a série até que o valor seja maior que 500 a = 1 b = 0 while b < 500: a, b = b , a+b print b Faça um programa que, dado um conjunto de N números, determine o menor valor, o maior valor e a soma dos valores. Altere o programa para que ele aceite apenas números entre 0 e 1000. n = int (raw_input("Quantidade de Numero? ")) maior = None menor = None soma = 0 for i in range(n): numero = int (raw_input("Numero? ")) if 0 < numero < 1000: if maior== None and menor == None: maior, menor = numero, numero if numero > maior: maior = numero if numero < menor: menor = numero soma+= numero else: print "Apenas valores entre ]0,1000[ sao aceitos" print "Maior: %d, Menor: %d e Soma: %d" % (maior, menor, soma) Faça um programa que calcule o fatorial de um número inteiro fornecido pelo usuário. Ex.: 5!=5.4.3.2.1=120 numero = int (raw_input("Numero? ")) fatorial = 1 if numero < 0: print "Valor invalido!" else: for i in range(1,numero+1): fatorial *= i print "Fatorial %d eh %d" % (numero, fatorial) Numa eleição existem três candidatos. Faça um programa que peça o número total de eleitores. Peça para cada eleitor votar e ao final mostrar o número de votos de cada candidato. candidato_A = 0 candidato_B = 0 candidato_C = 0 n_eleitores = int (raw_input("Quantidade de eleitores? ")) if n_eleitores > 0: for i in range (n_eleitores): voto = raw_input("Candidato A, B ou C? ").lower() if voto == 'a': candidato_A +=1 elif voto == 'b': candidato_B +=1 elif voto == 'c': candidato_C +=1 else: print "Voto Invalido!" print "Candidato A: %d votos" % candidato_A print "Candidato B: %d votos" % candidato_B print "Candidato C: %d votos" % candidato_C else: print "Quantidade de eleitores invalida!" Faça um programa que calcule o número médio de alunos por turma. Para isto, peça a quantidade de turmas e a quantidade de alunos para cada turma. As turmas não podem ter mais de 40 alunos. def lerTurma(): MAX = 40 alunos = int (raw_input("Numero de Alunos? ")) while alunos > MAX or alunos < 0: alunos = int ( raw_input("Numero de Alunos? ")) return alunos numero_turmas = int (raw_input("Quantidade de Turmas? ")) soma_alunos = 0 if numero_turmas > 0: for i in range(numero_turmas): soma_alunos += lerTurma() media = soma_alunos / numero_turmas print "Media de alunos/turma eh %d alunos" % media else: print "Quantidade de sala invalida!" Faça um programa que calcule o valor total investido por um colecionador em sua coleção de CDs e o valor médio gasto em cada um deles. O usuário deverá informar a quantidade de CDs e o valor para em cada um. def lerPrecoDoCd(): preco = float (raw_input("Preco do CD? ")) while preco <= 0: preco = float (raw_input("Preco do CD? ")) return preco numero_de_cds = int ( raw_input("Quantidade de CDs? ")) soma_precos = 0 for i in range(numero_de_cds): soma_precos += lerPrecoDoCd() media = soma_precos / numero_de_cds print "Total R$: %.2f , Media/CD R$: %.2f" % (soma_precos, media) O Sr. Manoel Joaquim acaba de adquirir uma panificadora e pretende implantar a metodologia da tabelinha, que já é um sucesso na sua loja de 1,99. Você foi contratado para desenvolver o programa que monta a tabela de preços de pães, de 1 até 50 pães, a partir do preço do pão informado pelo usuário, conforme o exemplo abaixo: try: preco = float (raw_input("Preco do pao: R$ ")) print "Panificado Pao de Ontem - Tabela de precos" for i in range(1, 51): print "%02d - R$ %.2f" %( i , preco*i) except: print "Erro ao tentar ler o preco." O Departamento Estadual de Meteorologia lhe contratou para desenvolver um programa que leia as um conjunto indeterminado de temperaturas, e informe ao final a menor e a maior temperaturas informadas, bem como a média das temperaturas. enor = None maior = None soma_temperatura = 0 quantidade_temperaturas = 0 try: while True: temperatura = raw_input("Temperatura ou (T)-Termina? ") if temperatura.lower() =='t': break elif temperatura.isalpha(): print "Valor invalido!" else: temperatura = float(temperatura) soma_temperatura += temperatura quantidade_temperaturas +=1 if maior == None and menor == None: maior, menor = temperatura, temperatura if temperatura > maior: maior = temperatura if temperatura < menor: menor = temperatura media = soma_temperatura / quantidade_temperaturas print "Maior: %.2f , Menor: %.2f, Media: %.2f"%(maior, menor, media) except: print "Erro ao tentar ler a temperatura." Foi feita uma estatística em cinco cidades brasileiras para coletar dados sobre acidentes de trânsito. Foram obtidos os seguintes dados: Código da cidade; Número de veículos de passeio (em 1999); Número de acidentes de trânsito com vítimas (em 1999). Deseja-se saber: - Qual o maior e menor índice de acidentes de transito e a que cidade pertence; - Qual a média de veículos nas cinco cidades juntas; - Qual a média de acidentes de trânsito nas cidades com menos de 2.000 veículos de passeio. def coletarDados(): try: lista_dados = [] for i in range(5): codigo = int (raw_input("codigo? ")) n_veiculos = int (raw_input("Numero de veiculos em (1999)? ")) n_acidentes = int (raw_input("Numero de acidentes com vitima? ")) lista_dados.append( ( codigo, n_veiculos, n_acidentes) ) except: print "Erro na leitura dos Dados." return lista_dados # Calcula o indice de acidentes de uma determinada cidade # Paramentros: uma Tupla (codigo, numeroDeVeiculo, NumeroDeAcidentes) # Retorno: o indice def calculaIndice ( dados ): # indiceDeAcidente = numero veiculos / numero de Acidentes * 0.01 return float ( dados[1]) / float ( dados[2] )*0.01 # Obeter o menor e o maior indice de acidente # entre os dados coletados # Parametros: Uma lista de dados # Retorno: um tupla com os indices solicitados def obterIndicesDeAcidentes( dadosColetados ): maiorIndice = dadosColetados[0] menorIndice = dadosColetados[0] for dado in dadosColetados: if calculaIndice(dado) > calculaIndice(maiorIndice): maiorIndice = dado if calculaIndice (dado) < calculaIndice(menorIndice): menorIndice = dado return (menorIndice, maiorIndice) # Mostrar os Indices obtidos def mostraIndices( indices ): menorIndice, maiorIndice = indices[0] , indices[1] print "Maior:%.2f%% Cidade:%d"%(calculaIndice(maiorIndice),maiorIndice[0])print "Menor:%.2f%% Cidade:%d"%(calculaIndice(menorIndice),menorIndice[0]) # calcula a media de veiculos na 5 cidades def mediaDeVeiculos (listaDeDados): soma_veiculos = 0 quantidade_de_dados = len (listaDeDados) for dados in listaDeDados: soma_veiculos += dados[1] return float(soma_veiculos)/float(quantidade_de_dados) # calcula a media de acidentes na cidades com menos de 2000 # veiculos de passeio. def mediaDeAcidentes( listaDeDados ): soma_acidentes = 0 quantidade_de_dados = 0 #soma os acidente nas cidades com menos de 2000 veiculos. for dados in listaDeDados: if dados[1] < 2000: soma_acidentes += dados[2] quantidade_de_dados +=1 return float (soma_acidentes) / float (quantidade_de_dados) #Funcao principal def main(): listaDeDados = coletarDados() mostraIndices ( obterIndicesDeAcidentes( listaDeDados ) ) print "Media de Veiculos: %.2f" % mediaDeVeiculos (listaDeDados ) print "Media de Acidentes: %.2f " % mediaDeAcidentes(listaDeDados) if __name__ == "__main__": main() Faça um programa que receba o valor de uma dívida e mostre uma tabela com os seguintes dados: valor da dívida, valor dos juros, quantidade de parcelas e valor da parcela. Os juros e a quantidade de parcelas seguem a tabela abaixo: def calculaJuros( valor, parcela): juros = 0 if parcela == 3: juros = valor * 0.10 elif parcela == 6: juros = valor * 0.15 elif parcela == 9: juros = valor * 0.20 elif parcela == 12: juros = valor * 0.25 return juros def calculaParcela( valor, parcela): valor_parcela = valor if parcela == 3: valor_parcela = ( valor + calculaJuros(valor,parcela)) / 3 elif parcela == 6: valor_parcela = ( valor + calculaJuros(valor,parcela) ) / 6 elif parcela == 9: valor_parcela = ( valor + calculaJuros(valor, parcela) ) / 9 elif parcela == 12: valor_parcela = ( valor + calculaJuros(valor,parcela) ) / 12 return valor_parcela def mostraLinha(i): global valor juros = calculaJuros(valor,3*i) parcela = calculaParcela(valor,3*i) linha = "Divida:R$ %.2f Juros:R$ %.2f Parcelas:%2d Valor Parcela:R$ %.2f" if i == 0: print linha % (valor+juros ,juros,1,parcela) else: print linha % (valor+juros,juros,3*i, parcela) def main(): try: global valor valor = float (raw_input("Valor da Divida? ")) for i in range(0,5): mostraLinha(i) except: print "Erro ao ler o valor informado!" if __name__== "__main__": main() Faça um Programa que leia um vetor de 5 números inteiros e mostre-os. Você verá como criar uma lista (vetor, ou array) vazia e em seguida aprenderá a inserir elementos dentro de uma lista, só lembrando que uma lista é uma estrutura de dados do tipo lista = ['a','b','c' ], onde cada elemento está associado a um índice, e pode ser recuperado, exemplo lista[0] = 'a', lista[1] = 'b', lista[2] = 'c'. lista_numeros = [] for i in range(5): numero = int (raw_input("numero %d? " %(i+1) )) lista_numeros.append(numero) print "lista =", lista_numeros Faça um Programa que leia um vetor de 10 caracteres, e diga quantas consoantes foram lidas. Imprima as consoantes. def ehConsoante(letra): return letra not in ['a', 'e', 'i', 'o', 'u'] consoantes = [] for i in range(10): letra = raw_input("Letra? ") if ehConsoante(letra): consoantes.append(letra) print "foram lidas", len(consoantes) print consoantes Faça um Programa que leia um vetor de 10 números reais e mostre-os na ordem inversa. Vamos resolver essa questão de duas maneira a primeira usando um for e a seguinda usando a próprio função do python que inverte o conteudo da lista. Veja que usamos o seguinte, se tivermos uma lista L = [ a , b, c ], o índice L[0] = a , porém se fizermos L[-1] = c, basta observar este detalhe da linguagem para inverter o conteudo da lista como mostramos logo abaixo no código: lista_numeros = [] for i in range(10): numero = float (raw_input("numero %d? "%(i+1))) lista_numeros.append(numero) for i in range(1,11): print lista_numeros[-i], print Faça um Programa que peça as quatro notas de 10 alunos, calcule e armazene num vetor a média de cada aluno, imprima o número de alunos com média maior ou igual a 7.0. medias = [] contador = 0 # contar as medias maiores ou igual a 7 for i in range(10): notas = [] for j in range(4): nota = float( input("nota %d do aluno %d? "%(j+1, i+1))) notas.append(nota) media = sum(notas) / 4 if media >= 7: contador += 1 #armazenar as media no vetor medias.append(media) print ("Médias maiores que 7:", contador) Faça um Programa que peça a idade e a altura de 5 pessoas, armazene cada informação no seu respectivo vetor. Imprima a idade e a altura na ordem inversa a ordem lida. Usamos a função reverse() para inverte a lista. você pode também inverte usando um for, mas terá bem mais trabalho. idades = [] alturas = [] for i in range(5): idade = int (input("Idade? ")) idades.append(idade) altura = float (input("Altura? ")) alturas.append(altura) #invertendo as listas alturas.reverse() idades.reverse() print ("alturas:", alturas) print ("idades:", idades) Faça um Programa que leia dois vetores com 10 elementos cada. Gere um terceiro vetor de 20 elementos, cujos valores deverão ser compostos pelos elementos intercalados dos dois outros vetores. a = [] # vetor 1 b = [] # vetor 2 c = [] # vetor 3 for i in range(10): numero = int (input("Numero vetor A? ")) a.append(numero) numero = int (input("Numero vetor B? ")) b.append(numero) # intercalando... for i in range(10): c.append(a[i]) c.append(b[i]) print ("vetor a:", a) print ("vetor b:", b) print ("vetor c:", c) Faça um programa que receba a temperatura média de cada mês do ano e armazene-as em uma lista. Após isto, calcule a média anual das temperaturas e mostre todas as temperaturas acima da média anual, e em que mês elas ocorreram (mostrar o mês por extenso: 1 – Janeiro, 2 – Fevereiro, . . . ). temperaturas = [] #cria um lista com os meses do ano meses = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro' ] for i in range (12): temperatura = float (input("Temperatura? ")) temperaturas.append(temperatura) #calcula a media media = sum(temperaturas) / 12 for i in range (12): if temperaturas[i] > media: print("%d - %s: %.1f"%(i+1,meses[i],temperaturas[i])) Utilizando listas faça um programa que faça 5 perguntas para uma pessoa sobre um crime. As perguntas são: 1 - "Telefonou para a vítima?" 2 - "Esteve no local do crime?" 3 - "Mora perto da vítima?" 4 - "Devia para a vítima?" 5 - "Já trabalhou com a vítima?" O programa deve no final emitir uma classificação sobre a participação da pessoa no crime. Se a pessoa responder positivamente a 2 questões ela deve ser classificada como "Suspeita", entre 3 e 4 como "Cúmplice" e 5 como "Assassino". Caso contrário, ele será classificado como "Inocente". ''' respostas = [] resposta = input("Telefonou para vitima S/N? ").lower()if resposta == 's': respostas.append(1) else: respostas.append(0) resposta = input("Esteve no local do crime S/N? ").lower() if resposta == 's': respostas.append(1) else: respostas.append(0) resposta = input ("Mora perto da Vítima? S/N? ").lower() if resposta == 's': respostas.append(1) else: respostas.append(0) resposta = input("Devia para a vítima S/N? ").lower() if resposta == 's': respostas.append(1) else: respostas.append(0) resposta = input("Já trabalhou com a vítima S/N? ") if resposta == 's': respostas.append(1) else: respostas.append(0) #classificando... resultado = sum(respostas) if resultado <=2 : print ("Supeita!") elif 2 < resultado <= 4: print ("Cúmplice!") else: print ("Assassino!") Em uma competição de salto em distância cada atleta tem direito a cinco saltos. O resultado do atleta será determinado pela média dos cinco valores restantes. Você deve fazer um programa que receba o nome e as cinco distâncias alcançadas pelo atleta em seus saltos e depois informe o nome, os saltos e a média dos saltos. O programa deve ser encerrado quando não for informado o nome do atleta. A saída do programa deve ser conforme o exemplo abaixo: Atleta: Rodrigo Curvêllo Primeiro Salto: 6.5 Segundo Salto: 6.1 Terceiro Salto: 6.2 Quarto Salto: 5.4 Quinto Salto: 5.3 Resultado final: Atleta: Rodrigo Curvêllo Saltos: 6.5 - 6.1 - 6.2 - 5.4 - 5.3 Média dos saltos: 5.9 m altos = [] ordem = ['Primeiro','Segundo','Terceiro','Quarto','Quinto'] nome = input("Atleta? ") print() for i in range(len(ordem)): salto = float(input("%s Saltos: " %ordem[i])) saltos.append(salto) media = sum(saltos) / len(saltos) print() print ("Resultado final: ") print ("Atleta:", nome) print("Saltos: ", end=" ") for i in range(len(saltos) - 1): print("%.1f -" % saltos[i], end=" ") print("%.1f " % saltos[len(saltos) - 1]) print("Media dos saltos: %.1f" % media, "m") Enquete qual o melhor jogador? a. O total de votos computados; b. Os númeos e respectivos votos de todos os jogadores que receberam votos; c. O percentual de votos de cada um destes jogadores; d. O número do jogador escolhido como o melhor jogador da partida, juntamente com o número de votos e o percentual de votos dados a ele. e. Enquete: Quem foi o melhor jogador? Número do jogador (0=fim): 9 Número do jogador (0=fim): 10 Número do jogador (0=fim): 9 Número do jogador (0=fim): 10 Número do jogador (0=fim): 11 Número do jogador (0=fim): 10 Número do jogador (0=fim): 50 Informe um valor entre 1 e 23 ou 0 para sair! Número do jogador (0=fim): 9 Número do jogador (0=fim): 9 Número do jogador (0=fim): 0 Resultado da votação: Foram computados 8 votos. Jogador Votos (%)Percentual 9 4 50,0% 10 3 37,5% 11 1 12,5% O melhor jogador foi o número 9, com 4 votos, correspondendo a 50% do total de votos. jogadores = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] votos = 0 #funcao para calcular o percentual de votos # regrinha de 3 básica # # total_de_votos ---------- 100% # votos ---------- x # x = votos*100 / total # def percentual(votos, total_de_votos ): return votos*100 /total_de_votos print ("Enquete: Quem foi o melhor jogador? ") print() while True: jogador = int (input("Número do jogador (0=fim): ")) if jogador == 0: break if jogador >= 1 and jogador <= 23: jogadores[ jogador -1] += 1 votos +=1 else: print ("Informe um valor entre 1 e 23 ou 0 para sair!") print() print("Resulado da Votação:") print() print ("Jogador \t Votos \t (%)Percentual") for i in range(len(jogadores)): if jogadores[i] != 0: print ("%d \t\t %d \t\t %.1f%%" %(i+1,jogadores[i],percentual(jogadores[i],votos))) indice_maior = 0 for i in range(1,len(jogadores)): if jogadores[i] > jogadores[indice_maior]: indice_maior = i print() print("Foram computadores %d votos" % votos) print ("O melhor jogador foi %d , com %d votos, " %(indice_maior+1,jogadores[indice_maior])) print ("correspondendo a %.1f%% do total de votos." %(percentual(jogadores[indice_maior],votos)))
Compartilhar