Generazione di sequenze (seq, :)
Fa parte della sezione Fondamenti del percorso R di Coddy. Lezione 43 di 78.
Hai usato 1:5 per creare sequenze nei tuoi cicli. Questo operatore dei due punti è rapido e semplice, ma R offre anche la funzione seq() per avere un maggiore controllo sulle tue sequenze.
L'operatore due punti crea una sequenza di interi consecutivi:
print(1:5)
print(10:6)Output:
[1] 1 2 3 4 5
[1] 10 9 8 7 6Nota che la sequenza può procedere in entrambe le direzioni. Quando il primo numero è maggiore, conta alla rovescia.
La funzione seq() ti offre maggiore flessibilità. Puoi specificare la dimensione del passo usando l'argomento by:
print(seq(2, 10, by = 2))Output:
[1] 2 4 6 8 10Questo crea numeri pari da 2 a 10.
Puoi anche specificare quanti numeri vuoi usando length.out:
print(seq(1, 10, length.out = 4))Output:
[1] 1 4 7 10R calcola automaticamente la spaziatura per fornirti esattamente 4 numeri equidistanti. Entrambi gli approcci funzionano perfettamente nei cicli, permettendoti di iterare facilmente su sequenze personalizzate.
Sfida
FacileLeggi tre numeri dall'input: start, end e step.
Usa la funzione seq() per generare una sequenza da start a end con il valore di step specificato. Poi usa un ciclo for per scorrere questa sequenza e stampare il quadrato di ciascun numero.
Ogni valore elevato al quadrato deve essere stampato su una riga separata usando print().
Per esempio, se i valori inseriti sono 2, 10 e 2, l'output dovrebbe essere:
[1] 4
[1] 16
[1] 36
[1] 64
[1] 100Questo perché viene generata la sequenza 2, 4, 6, 8, 10 e ogni numero viene elevato al quadrato.
Provalo tu
# Leggi l'input
con <- file("stdin", "r")
start <- as.numeric(suppressWarnings(readLines(con, n = 1)))
end <- as.numeric(suppressWarnings(readLines(con, n = 1)))
step <- as.numeric(suppressWarnings(readLines(con, n = 1)))
# TODO: Scrivi il tuo codice qui sotto
# 1. Usa seq() per generare una sequenza da start a end con il valore di step fornito
# 2. Usa un ciclo for per iterare sulla sequenza
# 3. Stampa il quadrato di ogni numero usando print()Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte 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 dinamico3Operatori 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