Recapitulação - Lista de Produtos
Parte da seção Fundamentos do Journey de R da Coddy. Lição 75 de 78.
Desafio
FácilVocê receberá quatro linhas de entrada:
- Um nome de produto (por exemplo,
Wireless Headphones) - Um preço (por exemplo,
79.99) - Uma quantidade em estoque (por exemplo,
25) - Uma porcentagem de desconto a ser aplicada (por exemplo,
20)
Execute as seguintes operações:
- Crie uma lista nomeada chamada
productcom os elementos:name(caractere),price(numérico),stock(numérico) eavailable(definido comoTRUEse o estoque for maior que 0; caso contrário,FALSE) - Imprima o nome do produto usando o operador
$ - Calcule o preço com desconto (preço original menos a porcentagem de desconto) e atualize o elemento
price - Adicione um novo elemento chamado
discountedcom o valorTRUE - Reduza o
stockem 1 (simulando uma compra) - Remova o elemento
availableda lista - Imprima a lista final
Por exemplo, se as entradas forem:
Smart Watch
150
10
25A saída deverá ser:
[1] "Smart Watch"
$name
[1] "Smart Watch"
$price
[1] 112.5
$stock
[1] 9
$discounted
[1] TRUEExplicação:
- Preço original de 150 com desconto de 25%: 150 - (150 * 25/100) = 112.5
- O estoque foi reduzido de 10 para 9
- O elemento
availablefoi removido da lista final
Experimente você mesmo
# Ler entrada
con <- file("stdin", "r")
product_name <- suppressWarnings(readLines(con, n = 1))
price <- as.numeric(suppressWarnings(readLines(con, n = 1)))
stock <- as.numeric(suppressWarnings(readLines(con, n = 1)))
discount_percentage <- as.numeric(suppressWarnings(readLines(con, n = 1)))
close(con)
# TODO: Escreva seu código abaixo
# 1. Crie uma lista nomeada chamada 'product' com os elementos: name, price, stock e available
# 2. Imprima o nome do produto usando o operador $
# 3. Calcule o preço com desconto e atualize o elemento price
# 4. Adicione um novo elemento chamado 'discounted' com o valor TRUE
# 5. Reduza o estoque (stock) em 1
# 6. Remova o elemento 'available' da lista
# 7. Imprima a lista finalTodas as lições de Fundamentos
4Operadores - Parte 2
Operadores lógicos (AND, OR)Operadores lógicos - Parte 2 (NOT)Revisão - Lógica simplesLógica vetorizada - Parte 1Lógica vetorizada - Parte 27Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo a Entrada do Usuário10FizzBuzz com uma Reviravolta
Visão Geral do JogoA Função FizzBuzz2Variáveis e Tipos de Dados
Tipo de Dado NuméricoTipo de Dado InteiroTipo de Dado CaractereTipo de Dado LógicoVerificando Tipos de DadosConvenções de NomenclaturaValores Ausentes: NARecapitulação - Criação de Variáveis8Laços
Laço ForLaço WhileBreakNext (Continue)Revisão - FatorialGeração de Sequências (seq, :)Laços AninhadosRevisão - Entrada Dinâmica11Vetores
Criando vetores com c()Acessando elementos de vetoresModificando vetoresOperações com vetoresRevisão - Vetor de preçosRevisão - Vetor invertidoVetores nomeados14Listas em R
Criando ListasAcessando Elementos de ListasModificando ListasListas NomeadasRecapitulação - Lista de Produtos3Operadores - Parte 1
Operadores aritméticosDivisão inteira e móduloOperadores de atribuiçãoRevisão - Matemática simplesOperadores de comparação6Entrada e saída básicas
Imprimir saídacat para saídaSaída com variáveisLendo entrada com readline()Noções básicas de conversão de tiposRecapitulação - Calculadora de idadeRecapitulação - Verdadeiro ou falso9Funções
Declarando uma FunçãoArgumentos de FunçãoValores de RetornoRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores de Parâmetros PadrãoPratique por conta própria: Compilador de R online