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
-
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.
-
Seu programa calcula e exibe corretamente o valor do desconto, se aplicável.
-
Seu programa calcula e exibe corretamente o valor do imposto sobre vendas e o valor total devido.
Desafios Adicionais
-
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.
-
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
- Crie uma pasta para o código da atividade guiada de programação desta semana.
- Abra a pasta que você acabou de criar no VSCode.
- Crie um novo arquivo chamado desconto.py.
- 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
-
O conteúdo de preparação para esta semana 1 explica como chamar uma função e um método.
-
O método
datetime.now()do módulodatetimepadrão do Python obterá a data e a hora atuais do sistema operacional do seu computador. Aqui está um trecho da referência oficial para o métododatetime.now:-
datetime.now(tz=None) -
Retorna a data e hora local atuais.
tz é opcional, mas se não for
None, deve ser um objetotzinfo(time zone information, ou informações de fuso horário)
weekday()obterá um número inteiro que representa o dia da semana de um objetodatetime. Aqui está um trecho da documentação oficial do métodoweekday:-
dt.weekday() - Retorna o dia da semana como um número inteiro, em que segunda-feira é 0 e domingo é 6.
O código Python a seguir importa a classe
datetimedo módulodatetime, chama o métododatetime.nowpara obter a data e a hora atuais do sistema operacional do computador e, em seguida, chama o métodoweekdaypara obter o dia da semana como um número inteiro.# Importa a classe datetime do módulo # datetime para que ele possa ser usado neste programa. from datetime import datetime # Chama o método now() para obter a data e hora # atuais como um objeto datetime do # sistema operacional do computador. data_e_hora_atuais = datetime.now() # Chama 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() # Exibe o dia da semana para o usuário ver. print(dia_da_semana)> python dia_da_semana.py 4
Depois que o computador executar a linha 7 do código acima, a variável data_e_hora_atuais conterá a data e a hora atuais. Depois que o computador executar a linha 10, a variável dia_da_semana conterá 0 se hoje for segunda-feira, 1 se hoje for terça-feira e assim por diante, podendo chegar até 6 no caso de domingo.
-
Procedimento de Teste
Verifique se seu programa funciona corretamente seguindo cada etapa deste procedimento de teste:
-
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
-
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
-
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,adicione uma linha de código como esta:
# 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()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:
- Volte ao Canvas para responder o questionário.
Links Úteis:
- Voltar para: Visão Geral da Semana | Página Inicial