Menu
Coddy logo textTech

Cosa comprare

Fa parte della sezione Fondamenti del percorso R di Coddy. Lezione 78 di 78.

challenge icon

Sfida

Facile

Crea una funzione chiamata what_to_buy che accetta due argomenti: budget (un valore numerico) e prices (un vettore con nomi dei prezzi degli articoli). La funzione dovrebbe restituire un vettore di caratteri contenente i nomi di tutti gli articoli con prezzi inferiori o uguali al budget.

Se nessun articolo è accessibile, restituisci un vettore di caratteri vuoto usando character(0).

Riceverai i seguenti input:

  1. L'importo del budget (un numero)
  2. Un elenco di nomi di articoli separati da virgole (ad es., apple,banana,steak,bread)
  3. Un elenco dei prezzi corrispondenti separati da virgole (ad es., 2,1,15,3)

Analizza gli input per creare un vettore con nomi dei prezzi, chiama la tua funzione e stampa il risultato. Usa print() per visualizzare il vettore di caratteri restituito.

Ad esempio, se l'input è:

5
apple,banana,steak,bread
2,1,15,3

L'output dovrebbe essere:

[1] "apple"  "banana" "bread"

Se l'input è:

10
laptop,phone,tablet
999,599,399

L'output dovrebbe essere:

character(0)

Suggerimenti:

  • Usa strsplit(input, ",")[[1]] per dividere le stringhe separate da virgole in vettori
  • Usa as.numeric() per convertire le stringhe dei prezzi in numeri
  • Usa names(prices) <- item_names per creare un vettore con nomi
  • Usa l'indicizzazione logica con names() per estrarre i nomi degli articoli accessibili

Provalo tu

# Leggi l'input
con <- file("stdin", "r")
budget <- as.numeric(suppressWarnings(readLines(con, n = 1)))
item_names_input <- suppressWarnings(readLines(con, n = 1))
prices_input <- suppressWarnings(readLines(con, n = 1))
close(con)

# Analizza gli input
item_names <- strsplit(item_names_input, ",")[[1]]
price_values <- as.numeric(strsplit(prices_input, ",")[[1]])

# Crea un vettore di prezzi con nomi
prices <- price_values
names(prices) <- item_names

# TODO: Scrivi la tua funzione what_to_buy qui sotto
# La funzione deve accettare budget e prices come argomenti
# e restituire un vettore di stringhe con i nomi degli articoli acquistabili


# Chiama la funzione e stampa il risultato
result <- what_to_buy(budget, prices)
print(result)

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore R online