0% acharam este documento útil (0 voto)
6 visualizações

python exercicioc

O documento apresenta uma série de exercícios em Python que envolvem cálculos matemáticos e lógicos, como a área de trapézios, média de notas, volume de barris, e análise de notas de alunos. Cada exercício inclui interações com o usuário para coletar dados e calcular resultados, além de verificar condições específicas, como a validade de triângulos e sistemas de equações. O código é estruturado em loops que permitem a repetição das operações até que o usuário decida parar.

Enviado por

sergiomartins
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
6 visualizações

python exercicioc

O documento apresenta uma série de exercícios em Python que envolvem cálculos matemáticos e lógicos, como a área de trapézios, média de notas, volume de barris, e análise de notas de alunos. Cada exercício inclui interações com o usuário para coletar dados e calcular resultados, além de verificar condições específicas, como a validade de triângulos e sistemas de equações. O código é estruturado em loops que permitem a repetição das operações até que o usuário decida parar.

Enviado por

sergiomartins
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 17

#Sergio Martins G540

#Ex01 - Area do trapezio


areaTrapezio=0
resposta= True
i=1
while resposta:
baseMaior = float(input("Qual é o valor da base maior? "))
baseMenor = float(input("Qual é o valor da base menor? "))
altura = float(input("Qual é o valor da altura? "))
areaTrapezio = altura*(baseMaior+baseMenor)/2
print(" area do ",i,".º trapezio =" ,round(areaTrapezio,2),"\n")
#print(" area do trapezio =" + str(areaTrapezio))
resposta=(input("\nPretende continuar a calcular a área do trapezio? s/n"))
if resposta.lower()== "s":
i +=1
else:
resposta = False

#Ex02 - média final de uma disciplina para n alunos


media=0

nAlunos = int(input("Qual é o numero de alunos da turma? "))


for i in range(nAlunos):
primeiroTeste = float(input("Qual é o valor da nota do 1 teste: "))
segundoTeste = float(input("Qual é o valor da nota do 2 teste: "))
trabalho = float(input("Qual é o valor da nota do trabalho: "))
media = primeiroTeste*0.3+segundoTeste*0.3+trabalho*0.4
print(" a média final do ",i+1,".º aluno =" ,round(media,2),"\n")

#Ex03 - barril
import math as m
volume=0
i=1
resposta = True
while resposta:
altura = float(input("Qual é o valor da altura do barril: "))
circMaior = float(input("Qual é o valor da circunferencia maior: "))
circMenor = float(input("Qual é o valor da circunferencia menor: "))
volume = m.pi*altura*(2*circMaior+circMenor)**2/36
print(" o volume do ",i,".º barril =" ,round(volume,2),"\n")
resposta=(input("\nPretende continuar? s/n"))
if resposta.lower()== "s":
i +=1
else:
resposta = False

#Ex04 - paralelepípedos
areaTotal=0
volume=0
i=1
resposta = True
while resposta:
a = float(input("Qual é o valor da aresta a: "))
b = float(input("Qual é o valor da aresta b: "))
c = float(input("Qual é o valor da aresta c: "))
volume = a*b*c
areaTotal= 2*(a*b+a*c+b*c)
print(" o volume do ",i,".º paralelepípedo =" ,round(volume,2),"\n")
print(" a area total do ",i,".º paralelepípedo =" ,round(areaTotal,2),"\n")
resposta=(input("\nPretende continuar? s/n"))
if resposta.lower()== "s":
i +=1
else:
resposta = False

#Ex05 - triangulos
import math as m
areaTotal=0
p=0
i=1
resposta = True
ladomaior=0
soma=0
while resposta:
i1 = float(input("Qual é o valor do lado 1: "))
ladoMaior=i1
i2 = float(input("Qual é o valor do lado 2: "))
if i2 > ladoMaior:
ladoMaior=i2
soma=i1
else:
soma=i2
i3 = float(input("Qual é o valor do lado 3: "))
if i3 > ladoMaior:
ladoMaior=i3
soma=i1+i2
else:
if soma==i1:
soma=i1+i3
else:
soma=i2+i3
print(" lado maior:",ladoMaior, " soma dos outros:",soma,"\n")

if ladoMaior>soma :
print(" triangulo INVALIDO\n")
else:
p=(i1+i2+i3)/2
areaTotal= m.sqrt(p*(p-i1)*(p-i2)*(p-i3))
print(" a area total do ",i,".º triangulo =" ,round(areaTotal,2),"\n")

resposta=(input("\nPretende continuar? s/n"))


if resposta.lower()== "s":
i +=1
else:
resposta = False

#Ex06 - sistema equações


import math as m
x=0
y=0
i=1
resposta = True

while resposta:
a = float(input(" para a 1 equação Qual é o valor do coeficiente a: "))
b = float(input(" para a 1 equação Qual é o valor do coeficiente b: "))
c = float(input(" para a 1 equação Qual é o valor do coeficiente c: "))
d = float(input(" para a 2 equação Qual é o valor do coeficiente d: "))
e = float(input(" para a 2 equação Qual é o valor do coeficiente e: "))
f = float(input(" para a 2 equação Qual é o valor do coeficiente f: "))
delta=(a*e-b*d)

if delta==0:
print(" sistema INVALIDO\n")
else:
x= (c*e-b*f)/delta
y= (a*f -c*d)/delta
print(" a solução do",i," sistema x:" ,round(x,2)," e
y:",round(y,2),"\n")

resposta=(input("\nPretende continuar? s/n"))


if resposta.lower()== "s":
i +=1
else:
resposta = False

# Online Python - IDE, Editor, Compiler, Interpreter


#EX07_vendedores

salarioBase=800
extra=100
perce=0.01

def comissao(nV,tV):
return (nV*extra+tV*perce)

resposta= True
while resposta:
nVendedor=input(' vendedor: ')
nVendas = int(input('quantas vendas: '))
totalVendas=0
for i in range(nVendas):
valorVenda = float(input(f'valor venda {i+1} de {nVendas} :'))
totalVendas=totalVendas+valorVenda
salarioTotal=salarioBase+comissao(nVendas,totalVendas)
print(f'Comissão do vendedor {nVendedor} com salario base {salarioBase} com
{nVendas} carros vendidos num total {totalVendas} -> comissao de
{comissao(nVendas,totalVendas)} e um salario total de {salarioTotal}')

x=input('Continuar? s/n')
while x.lower() !='s' and x.lower()!='n':
x=input('resposta errada! continuar? s/n')
if x.lower() !='s':
resposta=False

# Online Python - IDE, Editor, Compiler, Interpreter


#EX08_vendedores

salarioHora=100

def comissao(nV,tV):
return (nV*extra+tV*perce)

resposta= True
while resposta:
nFunc=input(' funcionario: ')
nHoras = int(input('quantas horas: '))
if nHoras//40==0:
salarioTotal=salarioHora*nHoras
else:

salarioTotal=salarioHora*40+salarioHora*1.5*(40*(nHoras//40-1)+nHoras%40)

print(f'Salario do funcionario {nFunc} : {salarioTotal} com {nHoras} horas


semanais' )

x=input('Continuar? s/n')
while x.lower() !='s' and x.lower()!='n':
x=input('resposta errada! continuar? s/n')
if x.lower() !='s':
resposta=False

# Online Python - IDE, Editor, Compiler, Interpreter


#EX09_bonusnatal
def bonusCalc(hExtra,hFalta):
x=(hExtra-hFalta)*2/3
#print(x,"\n")
if x<=5:
bonus=0
elif x<=10:
bonus=70
elif x<=15:
bonus=100
else:
bonus=130

return bonus
resposta= True
while resposta:
nFunc=input(' numero funcionario: ')
nomeFunc=input('nome funcionario: ')

salarioBase=float(input('salario Base funcionario: '))


while salarioBase<=0:
salarioBase=float(input('salario Base >0 funcionario: '))

horasExtra=int(input('horas extras funcionario: '))


while horasExtra<0:
horasExtra=int(input('horas extras>=0 funcionario: '))

horasFaltas=int(input('horas faltas funcionario: '))


while horasFaltas<0:
horasFaltas=int(input('horas faltas>=0 funcionario: '))

salarioTotal=salarioBase+bonusCalc(horasExtra,horasFaltas)

print(f'Salario do funcionario {nFunc} {nomeFunc}: {salarioTotal} com


{salarioBase} de salário base, {horasExtra} horasExtra e {horasFaltas} faltas,
bonus: {bonusCalc(horasExtra,horasFaltas)}' )

x=input('Continuar? s/n')
while x.lower() !='s' and x.lower()!='n':
x=input('resposta errada! continuar? s/n')
if x.lower() !='s':
resposta=False

# Online Python - IDE, Editor, Compiler, Interpreter


#EX10_turma

nAprovados=0
nDefesa=0
nReprovados=0
n=0
resposta= True
while resposta and n<=5:
n += 1
nAlunos=int(input(' quantos alunos (>0 e <=50): '))
while nAlunos<=0 or nAlunos>50:
nAlunos=int(input('ERRO! quantos alunos (>0 e <=50): '))
notaAcumulada=0
notaMax=0
notaMin=20
for i in range(nAlunos):
nota=float(input(f' Nota do aluno nº{i+1} <: (>=0 e <=20): '))
while nota <0 or nota>20:
nota=float(input(f' Nota do aluno nº{i+1} <: (>=0 e <=20): '))
notaAcumulada += nota
if nota>notaMax:
notaMax=nota
if nota<notaMin:
notaMin=nota
if nota<9.5:
nReprovados += 1
elif nota <=15.5:
nAprovados += 1
else:
nDefesa += 1

aprovados = nAprovados+nDefesa
mediaTurma=notaAcumulada/nAlunos
print(f'dos {nAlunos} da turma {n} com média de {round(mediaTurma,0)}
valores, {nReprovados} estão reprovados e {aprovados} foram aprovados, {nDefesa}
fazem defesa oral')
print(f'a nota mais alta foi {notaMax} e a nota mais baixa foi {notaMin}')

x=input('Continuar? s/n')
while x.lower() !='s' and x.lower()!='n':
x=input('resposta errada! continuar? s/n')
if x.lower() !='s':
resposta=False

# Online Python - IDE, Editor, Compiler, Interpreter


#EX10_turma1

nAprovados=0
nDefesa=0
nReprovados=0
n=0
turma=[]
resposta= True
while resposta and n<=5:
n += 1
nAlunos=int(input(' quantos alunos (>0 e <=50): '))
while nAlunos<=0 or nAlunos>50:
nAlunos=int(input('ERRO! quantos alunos (>0 e <=50): '))
notaAcumulada=0
notaMax=0
notaMin=20
for i in range(nAlunos):
nota=float(input(f' Nota do aluno nº{i+1} <: (>=0 e <=20): '))
while nota <0 or nota>20:
nota=float(input(f' Nota do aluno nº{i+1} <: (>=0 e <=20): '))
notaAcumulada += nota
if nota>notaMax:
notaMax=nota
if nota<notaMin:
notaMin=nota
if nota<9.5:
nReprovados += 1
turma.append([i+1,nota,"Reprovado"])
elif nota <=15.5:
nAprovados += 1
turma.append([i+1,nota,"Aprovado"])
else:
nDefesa += 1
turma.append([i+1,nota,"Aprovado para Defesa Oral"])

aprovados = nAprovados+nDefesa
mediaTurma=notaAcumulada/nAlunos
print(f'dos {nAlunos} da turma {n} com média de {round(mediaTurma,0)}
valores, {nReprovados} estão reprovados e {aprovados} foram aprovados, {nDefesa}
fazem defesa oral')
print(f'a nota mais alta foi {notaMax} e a nota mais baixa foi {notaMin}')

for i in range(82):
print('*',end='')
print()
print('|','Aluno\t','|','NotaFinal','|','Situação',sep='\t')
for i in range(82):
print('*',end='')
print()
for n in range(nAlunos):
for i in range(3):
print("|",turma[n][i],'\t',sep="\t",end='')
print()
for i in range(82):
print('*',end='')
print()

x='q'
while x.lower() !='s' and x.lower()!='n':
x=input('continuar? s/n')
if x.lower() !='s':
resposta=False

# Online Python - IDE, Editor, Compiler, Interpreter


#EX11_empresa
def bonusCalc(idade,servico,nFilhos):
percen=0
if idade>30:
percen += 0.01
if idade > 40:
percen+=0.01
if servico > 10:
percen +=0.03
if servico >20:
percen+=0.01

percen+=nFilhos*0.05

return percen

resposta= True
while resposta:
#nFunc=input(' numero funcionario: ')
#nomeFunc=input('nome funcionario: ')
idadeFunc=int(input('idade funcionario: '))
while idadeFunc<0:
idadeFunc=int(input('idade >=0 funcionario: '))

numFilhos=int(input('filhos funcionario: '))


while numFilhos<0:
numFilhos=int(input('idade >=0 funcionario: '))

salarioBase=float(input('salario Base funcionario: '))


while salarioBase<=0:
salarioBase=float(input('salario Base >0 funcionario: '))

anosServivo=int(input('Anos inteiros de serviço do funcionario: '))


while anosServivo<0:
anosServivo=int(input('Anos interios de serviço >=0 funcionario: '))

salarioTotal=salarioBase+salarioBase*bonusCalc(idadeFunc,anosServivo,numFilhos)

print(f'Salario do funcionario com {idadeFunc} anos, {numFilhos} filhos e


{anosServivo} anos de serviço: {salarioTotal} com {salarioBase} de salário base,
acrescido {round(bonusCalc(idadeFunc,anosServivo,numFilhos)*100,0)}%' )

x=input('Continuar? s/n')
while x.lower() !='s' and x.lower()!='n':
x=input('resposta errada! continuar? s/n')
if x.lower() !='s':
resposta=False

#Ex12 - triangulos-2
def EX12():
resposta = True
ladomaior=0
soma=0
somaLados=0
while resposta:
i1 = float(input("Qual é o valor do lado 1: "))
ladoMaior=i1
i2 = float(input("Qual é o valor do lado 2: "))
if i2 > ladoMaior:
ladoMaior=i2
soma=i1
else:
soma=i2
i3 = float(input("Qual é o valor do lado 3: "))
if i3 > ladoMaior:
ladoMaior=i3
soma=i1+i2
else:
if soma==i1:
soma=i1+i3
else:
soma=i2+i3
A=max(i1,i2,i3)
somaLados=i1+i2+i3-A
if A==i1:
B=i2
C=i3
elif A==i2:
B=i1
C=i3
else:
B=i1
C=i2

print(" lado maior:",ladoMaior, "ou",A,"a soma dos outros:",soma,"ou


",somaLados,"\n")
delta=A**2 - B**2-C**2
if ladoMaior>=soma :
print(" triangulo INVALIDO\n")
elif delta==0: #A**2 == B**2+C**2:
print("triangulo retangulo")
elif delta>0: #A**2 > B**2+C**2:
print("triangulo obtuso")
elif delta<0: #A**2 < B**2+C**2:
print("triangulo agudo")

resposta=(input("\nPretende continuar? s/n"))


while resposta.lower() !='s' and resposta.lower()!='n':
resposta=input('resposta errada! continuar? s/n')
if resposta.lower()!= "s":
resposta = False
return 0

EX12()

# Online Python - IDE, Editor, Compiler, Interpreter


EX13preco_auto

def taxaIva(cilind):
if cilind<1000:
taxa = 0.0
elif cilind <1500:
taxa = 0.1
elif cilind < 2000:
taxa = 0.2
else:
taxa = 0.3
return taxa

resposta= True
while resposta:

valorFab=float(input('valor de Fabrica do automóvel: '))


while valorFab<=0:
valorFab=float(input('valor >0 valor do automovel: '))

cilindrada=int(input('cilindrada do automovel: '))


while cilindrada<=0:
cilindrada=int(input('cilindrada >0 cilindrada: '))

valorTotal=valorFab+valorFab*taxaIva(cilindrada)

print(f'Valor total do automovel com {cilindrada}cc: {valorTotal}, valor


base {valorFab} taxa de IVA de {round(taxaIva(cilindrada)*100,0)} :
{valorFab*taxaIva(cilindrada)} de impostos' )

x=input('Continuar? s/n')
while x.lower() !='s' and x.lower()!='n':
x=input('resposta errada! continuar? s/n')
if x.lower() !='s':
resposta=False

# Online Python - IDE, Editor, Compiler, Interpreter


#EX14_aluguer

tabela=[[0,"mota",25],[1,"carro
ligueiro",50],[2,"todo-o-terreno",75],[3,"carrinha",70]]

quilometragem=[0.10,0.08,0.05]

def taxaAluguer(ind,dias,kilom):
if kilom<100:
indKm=0
elif kilom<500:
indKm=1
else:
indKm=2

return tabela[ind][2]*dias+kilom*quilometragem[indKm]

resposta= True
while resposta:
existe=False
while not existe:
cod=float(input('codigo do automóvel: '))
#verificar se cod existe
for i in range(len(tabela)):
if cod in tabela[i]:
index=i
existe=True

nDias=0
while nDias<=0:
nDias=int(input('numero de dias >0 : '))

kilometros=0
while kilometros<=0:
kilometros=int(input('numero de kilometros >0 : '))
valorTotal=taxaAluguer(index,nDias,kilometros)

print(f'Valor total do aluguer do veiculo {tabela[index][1]}:


{valorTotal}EUR, {nDias} dias de aluguer por {kilometros} Kms' )

x=input('Continuar? s/n')
while x.lower() !='s' and x.lower()!='n':
x=input('resposta errada! continuar? s/n')
if x.lower() !='s':
resposta=False

# Online Python - IDE, Editor, Compiler, Interpreter


EX15quadrados_numeros

resposta= True
while resposta:
n=0
while n<=0 or n>=100:
n=int(input('numero interio <100: '))

#com ciclo for


soma=0
for i in range(n):
soma += (i+1)**2
#ou com ciclo while
acumula=0
i=1
while i<=n:
acumula+=i**2
i+=1

print(f'Valor da soma dos quadrados de todos os numeros inteiros de 1 até


{n}:{soma} ou {acumula}' )

x="q"
while x.lower() !='s' and x.lower()!='n':
x=input('continuar? s/n')

if x.lower() !='s':
resposta=False

# Online Python - IDE, Editor, Compiler, Interpreter


#ex16_soma_quadrados_entre_numeros
resposta= True
while resposta:
primeiro=0
while primeiro<=0 or primeiro>=100:
primeiro=int(input('primeiro numero inteiro <100: '))

segundo=0
while segundo<=0 or segundo>=100:
segundo=int(input('segundo numero inteiro <100: '))
if primeiro > segundo:
aux=primeiro
primeiro=segundo
segundo=aux

#com ciclo for


soma=0
for i in range(primeiro,segundo+1,1):
soma += (i)**2

#ou com ciclo while


acumula=0
i=primeiro
while i<=segundo:
acumula+=i**2
i+=1

print(f'Valor da soma dos quadrados de todos os numeros inteiros de


{primeiro} até {segundo}:{soma} ou {acumula}' )

x='q'
while x.lower() !='s' and x.lower()!='n':
x=input('continuar? s/n')
if x.lower() !='s':
resposta=False

#ex17_contarzeros
resposta= True
while resposta:

count=0
n=0
continuar=True
while continuar:
try:
n=int(input('numero inteiro >=0 (termina com -99): '))
except:
continue
if n==-99:
continuar=False
if n==0:
count+=1

print(f'Existem {count} zeros na sequencia' )

x='q'
while x.lower() !='s' and x.lower()!='n':
x=input('continuar? s/n')
if x.lower() !='s':
resposta=False

# Online Python - IDE, Editor, Compiler, Interpreter


#ex18_fabrica
tarifas=[['diurnas',10],['noturnas',16],['extrasDiu',4],['extraNot',6]]

resposta= True

i=0
while resposta:
i+=1
print(f'Calculo do salario diario do funcionário {i}:')

n=-1
while n<0 or n>10:
try:
n=int(input('horas de trabalho das 8h00-18h00: '))
except:
continue
hDiurnas=n

n=-1
while (n<0 or n>10) or (hDiurnas==10 and n>5) or (n==10 and hDiurnas>5):
try:
n=int(input('horas de trabalho das 20h00-6h00: '))
except:
continue
hNoturnas=n
diaUtil=True
n='q'
while n.lower()!='s' and n.lower()!='n':
try:
n=input('domingo ou feriado s/n: ')
except:
continue
if n.lower()=='s': diaUtil=False

salarioDiario=hDiurnas*tarifas[0][1]+hNoturnas*tarifas[1][1]
if not diaUtil:
salarioDiario+=hDiurnas*tarifas[2][1]+hNoturnas*tarifas[3][1]

print(f'salario dia {"normal" if diaUtil else "feriado"} do funcionario {i}:


{salarioDiario} de {hDiurnas} diurnas e {hNoturnas} noturnas' )

x='q'
while x.lower() !='s' and x.lower()!='n':
x=input('continuar? s/n')
if x.lower() !='s':
resposta=False

# Online Python - IDE, Editor, Compiler, Interpreter


#ex19_soma_impares
resposta= True
while resposta:
primeiro=0
while primeiro<=0 or primeiro>=100:
primeiro=int(input('primeiro numero inteiro <100: '))

segundo=0
while segundo<=0 or segundo>=100:
segundo=int(input('segundo numero inteiro <100: '))

if primeiro > segundo:


aux=primeiro
primeiro=segundo
segundo=aux

#com ciclo for


soma=0
for i in range(primeiro,segundo+1,1):
if ((i%2) !=0):
soma += (i)

#ou com ciclo while


acumula=0
i=primeiro
while i<=segundo:
if i%2: acumula+=i
i+=1

print(f'Valor da soma dos impares de todos os numeros inteiros de {primeiro}


até {segundo}:{soma} ou {acumula}' )

x='q'
while x.lower() !='s' and x.lower()!='n':
x=input('continuar? s/n')
if x.lower() !='s':
resposta=False

#ex20_mediaalunos
media=0
resposta= True
while resposta:
continuar=True
count=1
n=1
soma=0
while continuar:
n=int(input(f'nota do aluno {count} numero inteiro >0 e <=20 (termina
com -99): '))

if n>0 and n<=20:


soma+=n
count+=1
if n==-99:
continuar=False
if count>0:
media=soma/(count-1)
print(f'media dos {count-1} alunos foi de {media}' )

x='q'
while x.lower() !='s' and x.lower()!='n':
x=input('continuar? s/n')
if x.lower() !='s':
resposta=False

"""22. Desenha um algoritmo que leia uma frase com mais de 10 caracteres e no
fim diga quantas vogais
existem na frase e qual a percentagem relativamente à totalidade dos
caracteres."""
resposta= True
while resposta:
continuar=True
while continuar:
str=input(f'frase com mais de 10 caracteres')
if len(str)>=10:
continuar=False
n=0
for i in range(0,len(str),1):
if str[i].lower()=='a'or str[i].lower()=='e' or str[i].lower()=='i' or
str[i].lower()=='o' or str[i].lower()=='u':
n+=1

print(f'a string "{str}" de {len(str)} carteres tem {n} vogais')


x='q'
while x.lower() !='s' and x.lower()!='n':
x=input('continuar? s/n')
if x.lower() !='s':
resposta=False

"""23. Utilizando a estrutura condicional adequada,desenha um algoritmo que


solicite ao utilizador um número
de 1 a 7 e apresente como output:
– “Fim de semana” (se o número introduzido for 6 ou 7)
– “Dia de semana” (se o número introduzido estiver compreendido entre 1 e 5)
– “Dia Inválido” – se for introduzido outro número qualquer
Implementa o algoritmo em PYTHON."""
resposta= True
while resposta:

s=(input(f' um numero de 1 a 7'))


try:
n=int(s)
except:
continue
if n>=1 and n<=7:
if n==6 or n==7:
print(f'{n} Fim de Semana')
elif n==1 or n==2 or n==3 or n==4 or n== 5:
print(f'{n} Dia de semana')
else:
print(f'{n} Dia Inválido')
else:
print(f'{n} Dia Inválido')
x='q'
while x.lower() !='s' and x.lower()!='n':
x=input('continuar? s/n')
if x.lower() !='s':
resposta=False

"""24. Desenhar um algoritmo, para implementar em PYTHON, que determine o preço


de várias passagens de
ida e volta em comboio, conhecendo a distância percorrida e sabendo que, se o
número de dias de estadia
é superior a 5 e a distância é superior a 200km, a passagem tem um desconto de
30%. Em qualquer dos
casos, o preço por quilómetro é sempre de 0.12€."""

desconto=0.30
precoKm=0.12
valor=0.0
resposta= True
while resposta:
continuar=True
while continuar:
distancia=int(input(f'distancia:'))
if distancia>0:
continuar=False

nNoites=-1
while nNoites<0:
nNoites=int(input(f'Noites:'))

valor=distancia*precoKm
if distancia>200 and nNoites >5:
valor=valor*(1-desconto)

print(f' a viagem de {nNoites} e {distancia}km tem o valor:


{round(valor,2)}€')

x='q'
while x.lower() !='s' and x.lower()!='n':
x=input('continuar? s/n')
if x.lower() !='s':
resposta=False

"""25. Desenhar um algoritmo que permita calcular a soma de todos os números


ímpares existentes num
qualquer número inteiro introduzido pelo utilizador e >= 100 e <= 40000.
Por exemplo, se o número introduzido for = 32677, a saída do programa será 3 + 7
+ 7 = 17"""

resposta= True
while resposta:
n=-1
while n<100 or n>40000:
n=int(input(f'numero >=100 e <= 40000:'))

div=n
soma=0
while div>0:
resto=div%10
div=div//10
if not (resto%2==0):
soma+=resto

print(f' a soma dos digitos impares do numero {n} e {soma}')

x='q'
while x.lower() !='s' and x.lower()!='n':
x=input('continuar? s/n')
if x.lower() !='s':
resposta=False

Você também pode gostar