Ir para conteúdo
Fórum Script Brasil
  • 0

Exercício 17


Allen Konstanz

Pergunta

Olá pessoal estou com dificuldades em escrever o algoritmo da letra C da questão,

Questão:

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 6 metros quadrados e que a tinta é vendida em latas de 18 litros, que custam R$ 80,00 ou em galões de 3,6 litros, que custam R$ 25,00.

* Informe ao usuário as quantidades de tinta a serem compradas e os respectivos preços em 3 situações:

Lembrando de acrescentar 10% de folga e sempre arredondar os valores para cima, isto é, considere latas cheias.

A. comprar apenas latas de 18 litros;

B. comprar apenas galões de 3,6 litros;

C. misturar latas e galões, de forma que o preço seja o menor.

Aqui vai o que eu já escrevi:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#Módulos
import math
#Funções
#def letraC(n): #Essa é a função que separei pra escrever o algoritmo  da  letra C

def func(situacoes):
    situacoes = eval(input("""Para comprar apenas latas de 18 litros digite 1
Para comprar apenas galões de 3,6 litros digite 2
Para misturar latas e galões, de forma que o preço seja o menor digite 3
Digite o a opção desejada: """))
    while not 1 <= situacoes <= 3:    
        situacoes = eval(input("Digite um opção de 1 à 3: "))
    if situacoes == 1:
        print()
        print("Você precisará de %d litros de tinta, %d latas e pagará R$ %d" % (litrosf,latas,preco_latas))
        print()
    elif situacoes == 2:
        print()
        print("Você precisará de %d litros de tinta, %d galoes e pagará R$ %d" % (litrosf,galoes,preco_galoes))
        print()
    elif situacoes == 3:
       letraC(1)    #Função da letra C  
    else:
         return situacoes
    print()
def menu(a):
    print("Suas opções são:")
    print("")
    print("1) Calcular a área a ser pintada")
    print("2) Preços dos produtos")
    print("3) Calcular os preços por área a ser pintada")
    print("4) Sair do programa")
    print()
    opcao = eval(input("Escolha sua opção: "))
    while not 1 <= opcao <= 4:
        print()
        opcao = eval(input("Escolha uma opção de 1 a 4: "))
    else:
        return opcao
            

def precos(a):
    print()
    print("Temos latas de 18 litros e galões de 3,6 litros")
    print("Cada lata custa R$80 e cada galão R$25")
    print()

    
#O Programa realmente começa aqui:
print("Bem Vindo ao Programa da Loja de Tintas 3.0")
loop = 1
choice = 0
area = 0
while loop == 1:
    choice = menu(1)
    if choice == 1:
        area = eval(input("Tamanho em metros quadrados (m²) da área a ser pintada: "))
        litros = float(area/6)
        litrosf = math.ceil(float(litros*1.1))
        latas = math.ceil(float(litrosf) / 18)
        galoes = math.ceil(float(litrosf) / float(3.6))
        preco_latas = latas*80.0
        preco_galoes = galoes*25.0
        tinta_necessaria = float(area)/6
        lata = 18.0
        galao = 3.6
                       
    elif choice == 2:
        precos(1)
    elif choice == 3:
        if area == 0:
            print()    
            print("Execulte primeiro a opção 1 [Calcular a área]!")
            print()
        else:
            func(1)
    elif choice == 4:
        loop = 0

print()        
print("Obrigado por usar o programa!")

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Só pra constar ai está o programa pronto:

#Módulos
import math

#Funções
def func(situacoes):
   situacoes = eval(input("""Para comprar apenas latas de 18 litros
digite 1
Para comprar apenas galões de 3,6 litros digite 2
Para misturar latas e galões, de forma que o preço seja o menor digite
3
Digite o a opção desejada: """))
   while not 1 <= situacoes <= 3:
       situacoes = eval(input("Digite um opção de 1 à 3: "))
   if situacoes == 1:
       print()
       print("Você precisará de %d litros de tinta, %d latas e pagará
R$ %d" % (litrosf,latas,preco_latas))
       print()
   elif situacoes == 2:
       print()
       print("Você precisará de %d litros de tinta, %d galoes e
pagará R$ %d" % (litrosf,galoes,preco_galoes))
       print()
   elif situacoes == 3:
       a1 = int(litrosf/18)
       a2 = litrosf%18
       a3 = math.ceil(a2/3.6)
       a4 = ((a1*80)+(a3*25))
       print("Você de %d litros de tinta, %d latas, %d galões e
pagará R$ %d" % (litrosf,a1,a3,a4))
   else:
        return situacoes
   print()

def menu(a):
   print("Suas opções são:")
   print("")
   print("1) Calcular a área a ser pintada")
   print("2) Preços dos produtos")
   print("3) Calcular os preços por área a ser pintada")
   print("4) Sair do programa")
   print()
   opcao = eval(input("Escolha sua opção: "))
   while not 1 <= opcao <= 4:
       print()
       opcao = eval(input("Escolha uma opção de 1 a 4: "))
   else:
       return opcao


def precos(a):
   print()
   print("Temos latas de 18 litros e galões de 3,6 litros")
   print("Cada lata custa R$80 e cada galão R$25")
   print()


#O Programa realmente começa aqui:
print("Bem Vindo ao Programa da Loja de Tintas 3.0")
loop = 1
choice = 0
area = 0
while loop == 1:
   choice = menu(1)
   if choice == 1:
       area = eval(input("Tamanho em metros quadrados (m²) da área a
ser pintada: "))
       litros = float(area/6)
       litrosf = math.ceil(float(litros*1.1))
       latas = math.ceil(float(litrosf) / 18)
       galoes = math.ceil(float(litrosf) / float(3.6))
       preco_latas = latas*80.0
       preco_galoes = galoes*25.0
       tinta_necessaria = float(area)/6
       lata = 18.0
       galao = 3.6
       limit = 108
       x = area - limit
       y = x/6
       y1 = math.ceil(float(y*1.1))

   elif choice == 2:
       precos(1)
   elif choice == 3:
       if area == 0:
           print()
           print("Execulte primeiro a opção 1 [Calcular a área]!")
           print()
       else:
           func(1)
   elif choice == 4:
       loop = 0

print()
print("Obrigado por usar o programa!")

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...