Riepilogo - Lista dei prodotti
Fa parte della sezione Fondamenti del percorso R di Coddy. Lezione 75 di 78.
Sfida
FacileRiceverai quattro righe di input:
- Il nome di un prodotto (ad es.,
Wireless Headphones) - Un prezzo (ad es.,
79.99) - Una quantità in magazzino (ad es.,
25) - Una percentuale di sconto da applicare (ad es.,
20)
Esegui le seguenti operazioni:
- Crea una lista con nome
productcon gli elementi:name(carattere),price(numerico),stock(numerico) eavailable(impostato suTRUEse la quantità in magazzino è maggiore di 0, altrimentiFALSE) - Stampa il nome del prodotto usando l'operatore
$ - Calcola il prezzo scontato (prezzo originale meno la percentuale di sconto) e aggiorna l'elemento
price - Aggiungi un nuovo elemento chiamato
discountedcon valoreTRUE - Riduci
stockdi 1 (simulando un acquisto) - Rimuovi l'elemento
availabledalla lista - Stampa la lista finale
Ad esempio, se gli input sono:
Smart Watch
150
10
25L'output dovrebbe essere:
[1] "Smart Watch"
$name
[1] "Smart Watch"
$price
[1] 112.5
$stock
[1] 9
$discounted
[1] TRUESpiegazione:
- Prezzo originale di 150 con uno sconto del 25%: 150 - (150 * 25/100) = 112.5
- La quantità in magazzino è stata ridotta da 10 a 9
- L'elemento
availableè stato rimosso dalla lista finale
Provalo tu
# Leggi l'input
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: Scrivi il tuo codice qui sotto
# 1. Crea una lista con nome 'product' con gli elementi: name, price, stock e available
# 2. Stampa il nome del prodotto usando l'operatore $
# 3. Calcola il prezzo scontato e aggiorna l'elemento price
# 4. Aggiungi un nuovo elemento chiamato 'discounted' con valore TRUE
# 5. Riduci stock di 1
# 6. Rimuovi l'elemento 'available' dalla lista
# 7. Stampa la lista finaleTutte le lezioni di Fondamenti
4Operatori Parte 2
Operatori logici (AND, OR)Operatori logici Parte 2 (NOT)Ripasso - Logica sempliceLogica vettorializzata Parte 1Logica vettorializzata Parte 27Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire input dell'utente10FizzBuzz con una variante
Panoramica del giocoLa funzione FizzBuzz13Vettori: argomenti avanzati
Slicing e indicizzazione dei vettoriIndicizzazione logicaAritmetica dei vettori e ricicloL’operatore %in%2Variabili e tipi di dati
Tipo di dato numericoTipo di dato interoTipo di dato carattereTipo di dato logicoControllo dei tipi di datoConvenzioni di denominazioneValori mancanti: NARiepilogo - Creazione di variabili8Cicli
Ciclo forCiclo whilebreaknext (continue)Riepilogo - FattorialeGenerazione di sequenze (seq, :)Cicli annidatiRiepilogo - Input dinamico11Vettori
Creare vettori con c()Accedere agli elementi dei vettoriModificare i vettoriOperazioni sui vettoriRipasso - Vettore dei prezziRipasso - Vettore invertitoVettori con nome14Liste in R
Creare listeAccedere agli elementi di una listaModificare le listeListe con nomiRiepilogo - Lista dei prodotti3Operatori Parte 1
Operatori aritmeticiDivisione intera e moduloOperatori di assegnazioneRiepilogo - Matematica sempliceOperatori di confronto6I/O di base
Stampare l'outputcat per l'outputOutput con variabiliLeggere l'input con readline()Nozioni di base sulla conversione dei tipiRiepilogo - Calcolatore dell'etàRiepilogo - Vero o falso9Funzioni
Dichiarare una funzioneArgomenti della funzioneValori di ritornoRiepilogo - Funzione SigmaRiepilogo - Funzione di validazioneValori predefiniti dei parametriEsercitati da solo: Compilatore R online