• Nenhum resultado encontrado

Exercícios de Funções (6 14): """ Exercício 6

N/A
N/A
Protected

Academic year: 2021

Share "Exercícios de Funções (6 14): """ Exercício 6"

Copied!
8
0
0

Texto

(1)

http://www.python.org.br/wiki/ExerciciosFuncoes

Exercícios de Funções (6 – 14):

"""

Exercício 6

Faça um programa que converta da notação de 24 horas para a notação de 12 horas.

Por exemplo, o programa deve converter 14:25 em 2:25 P.M. A entrada é dada em dois inteiros. Deve haver pelo menos duas funções: uma para fazer a conversão e uma para a saída. Registre a informação A.M./P.M. como um valor ‘A’ para A.M.

e ‘P’ para P.M. Assim, a função para efetuar as conversões terá um parâmetro formal para registrar se é A.M. ou P.M. Inclua um loop que permita que o usuário repita esse cálculo para novos valores de entrada todas as vezes que desejar.

"""

def hora(H):

if H>12:

H=H-12 return H

def saida(H,Min):

H=str(H) Min=str(Min)

print("São: ",H,":",Min)

while True:

print("\n**** Notação Horária ****") sair=input("Digite s para sair:")

if sair=='s' or sair=='S':

break

H=int(input("Digite as horas:")) Min=int(input("Digite os minutos:")) saida(hora(H),Min)

"""

Exercício 7:

Faça um programa que use a função valorPagamento para determinar o valor a ser pago por uma prestação de uma conta. O programa deverá solicitar ao usuário o valor da prestação e o número de dias em atraso e passar estes valores para a função valorPagamento, que calculará o valor a ser pago e devolverá este valor ao programa que a chamou. O programa deverá então exibir o valor a ser pago na tela. Após a execução o programa deverá voltar a pedir outro valor de prestação e assim continuar até que seja informado um valor igual a zero para a prestação.

Neste momento o programa deverá ser encerrado, exibindo o relatório do dia, que conterá a quantidade e o valor total de prestações pagas no dia. O cálculo do valor a ser pago é feito da seguinte forma. Para pagamentos sem atraso, cobrar o valor da prestação. Quando houver atraso, cobrar 3% de multa, mais 0,1% de juros por dia de atraso. """

(2)

multa=p*0.03 juro=p*(0.001*da)

valorApagar=p+multa+juro else:

valorApagar=p return valorApagar total=0

while True:

p=float(input("Digite o valor da prestação (PARA SAIR TECLE 0 (zero)!!): ")) if p==0:

break

da=int(input("Digite o número de dias em atraso: ")) presta=valorPagamento(p,da)

total+=presta

print("O valor a ser pago é: %.2f"%presta)

print("O total de prestações pagas no dia é: %.2f"%total,"\n\n***Fim do programa***")

"""

Exercício 8:

Faça uma função que informe a quantidade de dígitos de um determinado número inteiro informado.

"""

n=int(input("Digite um número inteiro: ")) def contAlgarismos(x):

x=str(x) return len(x)

print("O número de algarismos que compõe o número %d é:

"%n,contAlgarismos(n),"\n\n***Fim do programa***")

"""

Exercício 9:

Reverso do número. Faça uma função que retorne o reverso de um número inteiro informado. Por exemplo: 127 -> 721.

"""

n=int(input("Digite um número inteiro: ")) def reverso(x):

x=str(x) return x[::-1]

print("O reverso de %d é: "%n,reverso(n),"\n\n***Fim do programa***")

(3)

"""

Exercício 10:

Jogo de Craps. Faça um programa de implemente um jogo de Craps. O jogador lança um par de dados, obtendo um valor entre 2 e 12. Se, na primeira jogada, você tirar 7 ou 11, você um "natural" e ganhou. Se você tirar 2, 3 ou 12 na primeira jogada, isto é chamado de "craps" e você perdeu. Se, na primeira jogada, você fez um 4, 5, 6, 8, 9 ou 10,este é seu "Ponto". Seu objetivo

agora é continuar jogando os dados até tirar este número novamente. Você perde, no entanto, se tirar um 7 antes de tirar este Ponto novamente. """

import random

a="Você ganhou, parabéns\n"

b="\n\n\t***** Craps! *****\n\nVocê perdeu!!!\tTente de novo\n"

c="Ponto\n"

def craps():

dado1=random.randrange(1,7) dado2=random.randrange(1,7) soma=dado1+dado2

print("Dado 1: ",dado1) print("Dado 2: ",dado2)

print("A soma dos dados é: ",soma,"\n") return soma

print("*****GAME - CRAPS*****") while True:

jogar=input("Rolar dados (s ou n)? ") if jogar=='n' or jogar=='N':

break else:

result=craps()

if result==7 or result==11:

print(a)

elif result==2 or result==3 or result==12:

print(b) else:

print(c) while True:

result2=craps() if result==result2:

print(a) break

elif result2==7:

print(b) break else:

print("Ainda não foi dessa vez!\nSEGUE O JOGO!!!!\n")

(4)

Data com mês por extenso. Construa uma função que receba uma data no formato DD/MM/AAAA e devolva uma string no formato D de mesPorExtenso de AAAA.

Opcionalmente, valide a data e retorne NULL caso a data seja inválida. """

def validaData(data):

global m,d,a data = data.split('/') m=data[1]

m=int(m) d=data[0]

d=int(d) a=data[2]

a=int(a)

if m>0 or m<13:

if m==2:

if d==29:

if(a%4 == 0 and a%100!= 0) or (a%400==0): #ano bissexto return "VALIDA"

else:

return "NULL"

elif m==1 or m==3 or m==5 or m==7 or m==8 or m==10 or m==12:

if d>0 and d<=31: #mês de 31 dias return "VALIDA"

else:

return "NULL"

elif m==4 or m==6 or m==9 or m==11:

if d>0 and d<=30: #mês de 30 dias return "VALIDA"

else:

return "NULL"

else:

return("NULL")

print("***** Data com mês por extenso. *****")

data=input("Digite uma data com o seguinte formato dd/mm/aaaa: ") mes=['

','Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro',' Novembro','Dezembro']

valida=validaData(data) if valida=="VALIDA":

print("Data com mês por extenso: ",str(d),"de",str(mes[m]),"de",str(a)) else:

print("Data inválida!")

(5)

"""

Exercício 12:

JEmbaralha palavra. Construa uma função que receba uma string como parâmetro e devolva outra string com os carateres embaralhados. Por exemplo: se função

receber a palavra python, pode retornar npthyo, ophtyn ou qualquer outra combinação possível, de forma aleatória. Padronize em sua função que todos os caracteres serão devolvidos em caixa alta ou caixa baixa, independentemente de como foram digitados. """

import random def maiuscula(p):

p=p.upper() return p def viralista(p):

global lista lista=list(p)

def embaralhaLista(lista):

random.shuffle(lista)

def viraString(lista):

c=''

c=c.join(lista) return c lista=[]

print("***** EMBARALHADOR DE LETRAS *****") p=input("Digite uma palavra: ")

print("\nA palavra digitada foi: ",maiuscula(p)) viralista(p)

embaralhaLista(lista)

print("\nA palavra digitada com as letras embaralhadas: ",maiuscula(viraString(lista)))

"""

Exercício 13:

Desenha moldura. Construa uma função que desenhe um retângulo usando os caracteres ‘+’ , ‘−’ e ‘| ‘. Esta função deve receber dois parâmetros, linhas e colunas, sendo que o valor por omissão é o valor mínimo igual a 1 e o valor máximo é 20. Se valores fora da faixa forem informados, eles devem ser modificados para valores dentro da faixa de forma elegante.

"""

def moldura(l,c):

print("+","-"*c,"+")

(6)

print("+","-"*c,"+")

col=input("Número de Colunas: ") lin=input("Múmero de Linhas: ") if col=="":

col='1' if lin=="":

lin='1' col=int(col) lin=int(lin) if col==0:

col=1 elif col>20:

col=20 if lin==0:

lin=1 elif lin>20:

lin=20

moldura(lin,col)

"""

Exercício 14:

Quadrado mágico. Um quadrado mágico é aquele dividido em linhas e colunas, com um número em cada posição e no qual a soma das linhas, colunas e diagonais é a mesma. Por exemplo, veja um quadrado mágico de lado 3, com números de 1 a 9:

8 3 4 1 5 9 6 7 2

Elabore uma função que identifica e mostra na tela todos os quadrados mágicos com as características acima. Dica: produza todas as combinações possíveis e verifique a soma quando completar cada quadrado. Usar um vetor de 1 a 9 parece ser mais simples que usar uma matriz 3x3.

"""

import random

print("\t***** Quadrado Mágico *****\n ") n=int(input("Informe o número central: ")) n_magico=n*3

print("O número mágico é: ",n_magico) lvalor=[]

(7)

inicio=n-4 fim=inicio+8

print("Conforme o valor informado, temos os seguintes valores para preencher o Quadrado Mágico:\n")

while inicio<=(fim):

lvalor.append(n-(n-inicio))

print(n," - ",(n-inicio)," = ",n-(n-inicio)) inicio=inicio+1

print("\nLista de valores: ", lvalor,"\n") print("Nome das posições:")

c=1

while c<=9:

print(c-1,end='\t') if c%3==0:

print('\n') c+=1 print('\n')

print("Os valores para os cantos devem ser :",lvalor[1],lvalor[3],lvalor[5],lvalor[7]) pripos=4

print("Índice do centro= ",pripos) listafinal=[0,0,0,0,0,0,0,0,0]

listafinal[pripos]=n l=[0,2,6,8]

segpos=random.choice(l)

print("Sorteia o índice de um dos quatro cantos= ",segpos) if segpos==0:

tercpos=8 if segpos==2:

tercpos=6 if segpos==6:

tercpos=2 if segpos==8:

tercpos=0

print("Posição oposta ao canto sorteado =",tercpos) listafinal[segpos]=lvalor[1]

listafinal[tercpos]=lvalor[7]

l.remove(segpos) l.remove(tercpos)

quartpos=random.choice(l)

print("Sorteia o índice de um dos cantos restantes =",quartpos) listafinal[quartpos]=lvalor[3]

l.remove(quartpos) quintpos=l[0]

print("Último canto =",quintpos,"\n") listafinal[quintpos]=lvalor[5]

(8)

listafinal[5]=n_magico-(listafinal[8]+listafinal[2]) listafinal[7]=n_magico-(listafinal[6]+listafinal[8]) print("\nMatriz formada: \n")

c=1

while c<=9:

print(listafinal[c-1],end='\t') if c%3==0:

print('\n') c+=1 print('\n')

Referências

Documentos relacionados

Morgado, como era chamado pelos seus colegas, Ana Cristina Pereira Morgado, sua filha, assumiu a presidéncia da Associacao no ano de 2017.Atualmente, a Associacao tem sede propria

Os seguintes efeitos secundários são muito raros (afectam menos de 1 em cada 10.000 pessoas):. Alterações na análise sanguínea (diminuição de glóbulos vermelhos ou brancos e das

188 Figura 7.3 – Superfície de resposta, resultante da análise dos dados de pico da taxa de liberação de calor (PHRR) para os compostos PVC/óxidos metálicos, obtida

a) Confeccionar filmes de pectina simples e filmes compostos de pectina e alginato em diversas proporções e avaliar as propriedades em relação às diferentes

3: annual distribution of Triatoma vitticeps, captured in Triunfo, Santa Maria Madalena municipal district, State of Rio de Janeiro, during 1989/1995.... 714 714

2 Apesar de nosso objeto de pesquisa ser a reflexão do uso de aplicativos para aprendizagem, compreender a formação do professor, sua rotina de vida e trabalho e

Segundo os especialistas, a estabilização de emergência nas áreas dos serviços florestais é financiada por um fundo próprio, sendo elaborada uma proposta que é aprovada

al.,(1998) relatou que dietas ricas em ácidos graxos saturados (banha de porco) reduzem a resposta das ilhotas de Langerhans à glicose, enquanto que dietas