CSE 111: Programação com Funções

S01 - Atividade Guiada de Programação: Desconto

Visão Geral

Para esta atividade, você irá programar enquanto assiste um vídeo do instrutor, que guiará cada passo da tarefa abaixo. Certifique-se de pausar o vídeo ou revisar partes dele, caso necessário, para concluir a atividade por completo.

Seu instrutor publicará um link para o vídeo no Microsoft Teams.

Contexto

Você trabalha para uma loja de varejo que deseja aumentar as vendas às terças e às quartas-feiras, que são os dias de menor movimento. Às terças e quartas-feiras, se o subtotal de um cliente for de R$50 ou mais, a loja aplicará um desconto de 10% ao subtotal.

Programa

Escreva um programa em Python com seu instrutor, que receba o subtotal de um cliente como entrada e obtenha o dia atual da semana do sistema operacional do seu computador. Seu programa não deve pedir ao usuário para inserir o dia da semana. Em vez disso, ele deve obter o dia da semana do sistema operacional do seu computador.

Se o subtotal for R$50 ou mais e hoje for terça ou quarta-feira, seu programa deverá subtrair 10% do subtotal. Seu programa deve então calcular o valor total devido adicionando o imposto sobre vendas de 6% ao subtotal. Seu programa deve imprimir o valor do desconto, se aplicável, o valor do imposto sobre vendas e o valor total devido.

Requisitos

  1. Seu programa solicita ao usuário o subtotal, mas não o dia da semana. Seu programa obtém o dia da semana do sistema operacional do seu computador.
  2. Seu programa calcula e exibe corretamente o valor do desconto, se aplicável.
  3. Seu programa calcula e exibe corretamente o valor do imposto sobre vendas e o valor total devido.

Desafios Adicionais

  1. Se hoje for terça ou quarta-feira e o subtotal for menor que R$ 50, calcule e mostre quanto falta para o cliente atingir R$ 50 e, assim, receber 10% de desconto.
  2. No começo do programa, implemente um loop que calcule o subtotal. O programa deve receber do usuário o preço e a quantidade e multiplicá-los para determinar o subtotal. O loop deve se encerrar quando a quantidade digitada for 0.

Instruções

  1. Crie uma pasta para o código da atividade guiada de programação desta semana.
  2. Abra a pasta que você acabou de criar no VSCode.
  3. Crie um novo arquivo chamado desconto.py.
  4. Encontre o vídeo que seu instrutor publicou para esta tarefa e crie o código junto com ele para concluir cada um dos requisitos. Analise os requisitos em ordem com o instrutor em vez de pular para etapas mais complicadas para garantir que você não perca nenhuma explicação.
Link de Vídeo Alternativo

Além do link que seu instrutor publicou, você também pode assistir ao seguinte passo a passo do código:

Recursos Adicionais

Você pode usar esses recursos adicionais para se aprofundar nos estudos.

Exemplo de Solução

Além do vídeo do instrutor, você também pode visualizar esta solução. (Ela pode ser um pouco diferente do código final que você e seu instrutor criaram.)

Documentação Útil
Procedimento de Teste

Verifique se seu programa funciona corretamente seguindo cada etapa deste procedimento de teste:

  1. Se hoje não for terça nem quarta-feira, execute seu programa com as entradas abaixo e verifique se a saída exibida é a mesma.
    > desconto python.py
    Por favor, digite o subtotal: 42.75
    Valor do imposto sobre vendas: 2.56
    Total: 45.31
    > desconto python.py
    Por favor, digite o subtotal: 55.20
    Valor do imposto sobre vendas: 3.31
    Total: 58.51
  2. Se hoje for terça ou quarta-feira, execute seu programa com as entradas abaixo e verifique se a saída exibida é a mesma.
    > desconto python.py
    Por favor, digite o subtotal: 42.75
    Valor do imposto sobre vendas: 2.56
    Total: 45.31
    > desconto python.py
    Por favor, digite o subtotal: 55.20
    Valor do desconto: 5.52
    Valor do imposto sobre vendas: 2.98
    Total: 52.66
  3. Existe uma forma simples de simular qualquer dia da semana no seu programa, sem precisar rodá-lo por sete dias consecutivos e sem alterar a data do computador. Como fazer: logo depois dessas instruções,
    # Chame o método weekday() para obter o dia da
    # semana a partir do objeto data_e_hora_atuais.
    dia_da_semana = data_e_hora_atuais.weekday()
                  
    adicione uma linha de código como esta:
    dia_da_semana = 2

Envio

Por favor, pause e assista novamente a quaisquer partes do vídeo do instrutor necessárias até que você tenha concluído toda a atividade e seu programa funcione da mesma forma que o do instrutor. Quando tiver terminado:

Links Úteis: