Skillbook Logo
foto profilo

Skill Factory

Lista post > Competenze per programmare: le stringhe

Competenze per programmare: le stringhe

Gino Visciano | Skill Factory - 13/04/2024 09:49:41 | in Tutorials


Le stringhe sono sequenze di caratteri delimitate da apici o doppi apici, ad esempio:

"Stringa delimitata da doppi apici"

oppure

'Stringa delimitata da singoli apici'.

L'uso dell'apice o del doppio apice dipende dal linguaggio di programmazione che stai utilizzando, ad esempio in Pyhton o JavaScript, per indicare le stringhe puoi usare sia gli apci che i doppi apici, in C, C++, Java e C#, devi usare i doppi apici, in SQL si usano solo gli apici. In PHP l'uso degli apici oppure dei doppi apici può avere un comportamento diverso, quindi se devi usare questo linguaggio approfondisci l'argomento.

I caratteri che compongono le stringhe sono gli stessi che si usano per scrivere e formattare il testo, in sintesi li possiamo distinguere nel modo seguente:

1) le lettere dell’alfabeto sia maiuscole, sia minuscole, incluese quelle dell'alfabeto inglese (J K W X Y);
2) le lettere accentate e i dittonghi;
3) lo spazio;
4) le cifre da 0 a 9;
5) i simboli d’interpunzione (. , ; : ? !);
6) tutti i tipi di parentesi () [] {};
7) qualunque altro tipo di simbolo usato per scrivere formule, valute, percentuali, apostrofi, accenti (+ - * /  ^ & % $ " ‘ etc.);
8) caratteri particolari utilizzati nelle diverse lingue del mondo;
9) Il carattere indefinito null;
10) i caratteri speciali per la formattazione del testo: return (vai a inizio riga) , il new line (vai sulla riga seguente) e la tabulazione (imposta più spazi tra le parole).

Quando lavori con le stringhe è importante decidere la codifica che intendi usare per il riconoscimento dei caratteri, perché se non usi la codifica giusta, il testo contenuto nelle stringhe potrebbe diventare incomprensibile.

Le codifiche principali sono 2:

1) ASCII o UTF-8;
2) UNICODE o UTF-16.

La codifica ASCII o UTF-8, la più comune, prevede 256 caratteri diversi, inclusi quelli speciali e occupa un byte per ogni carattere della stringa, mentre la codifica UNICODE o UTF-16, predefinita in Java, prevede 65536 caratteri diversi e occupa due byte per ogni carattere della stringa.

Quindi, se i caratteri di una stringa non incomprensibili, verifica sempre se la codifica che stai usando è quella giusta.

Operazioni principali per gestire le stringhe

Quando lavori con le stringhe sono fondamentali le seguenti operazioni:

1) verificare la lunghezza di una stringa;
2) convertire la stringa in maiuscolo o minuscolo;
3) trasformare un numero intero o decimale in stringa e viceversa;
4) dividere la stringa in sottostringhe;
5) scomporre una stringa in caratteri;
6) invertire i caratteri di una stringa;
7) cercare la posizione di una sottostringa in una stringa;
8) sostituire una sottostringa di una stringa con una ricorrenza diversa;
9) eliminare spazi da una stringa;
10) convertire una stringa in formato csv in un vettore di stringhe;
11) convertire un vettore di stringhe in una stringa.

Se hai già pronto l'ambiente di lavoro clicca qui.


Come preparare l'ambiente di lavoro per eseguire gli esempi Python e JavaScript

Per eseguire gli esempi di questa lezione devi prima prepare l'ambiente di lavoro svolgendo le seguenti attività:

1. Installazione di Python
Per eseguire il download del setup di Python clica qui.
Dopo il download del setup, eseguilo per installare Python.
Attenzione, durante l'installazione non dimenticare di spuntare l'opzione Add Python 3.X to PATH.
Per verificare la corretta installazione di Python, avvia il prompt dei comandi (cmd) ed esegui il comando:
python --version
Per completare l'attività su c: crea la directory lab_python, userai questa cartella per salvare gli esercizi Python.

2. Installazione Node.js (JavaScript)
Per eseguire il download del setup di Node.js clicca qui.
Dopo il download del setup, eseguilo per installare Node.js.
Per verificare la corretta installazione di Node.js, avvia il prompt dei comandi (cmd) ed esegui il comando:
node --version

In JavaScript per eseguire un input da tastiera, devi installare il modulo readline.sync.
Per eseguire questa operazione, sempre da prompt dei comandi, esegui il comando:
npm install readline-sync

Per completare l'attività su c: crea la directory lab_javascript, userai questa cartella per salvare gli esercizi JavaScript.

3. Installazione di Visual Studio Code
Per eseguire il download del setup di Visual Studio Code clicca qui.
Dopo il download del setup, eseguilo per installare Visual Studio Code.
Per verificare la corretta installazione di Visual Studio Code, avvia il prompt dei comandi (cmd) ed esegui il comando:
code --version

4. Configurazione di Visual Studio Code
Avvia Visual Studio Code cliccando sull'icona seguente:

Per configurare Python, premi i tasti ctrl ed n contemporaneamente per creare un nuovo file, altrimenti usa il menu, selezionando nuovo file di testo.
Scrivi nel file il comando seguente:
print("Hello World)

Premi i tasti ctrl ed s contemporaneamente per salvare il file, altrimenti usa il menu, selezionando file, salva.
Assicurati di salvare il file nella directory c:\lab_python, con il nome prova.py.
Conferma l'installazione di tutti i palg in proposti da Visual Studio Code.
Dopo il salvataggio, per eseguire il programma, clicca sul triangolino (Run Python File) che appare in alto a destra:

Usa la stessa procedura per creare e lanciare qualunque programma Python.

Per configurare JavaScript, premi i tasti ctrl ed n contemporaneamente per creare un nuovo file, altrimenti usa il menu, selezionando nuovo file di testo.
Scrivi nel file il comando seguente:
console.log("Hello World)

Premi i tasti ctrl ed s contemporaneamente per salvare il file, altrimenti usa il menu, selezionando file, salva.
Assicurati di salvare il file nella directory c:\lab_javascript, con il nome prova.js.
Conferma l'installazione di tutti i palg in proposti da Visual Studio Code.

Dopo il salvataggio, per eseguire il programma, apri un nuovo terminale:

Puoi eseguire questa operazione anche premendo contemporaneamente i tasti crtl shift ò.

Se il terminale proposto e di tipo Powershell (il prompt dei comandi inizia con PS), ti suggerisco di passare a quello standard, per evitare problemi di autorizzazioni.
Per passare da terminale Powershell a quello standard, esegui il comando:
cmd

Per eseguire i programmi JavaScript con Node.js, devi attivare la directory dove hai salvato i file, quindi esegui il comando seguente:
cd c:\lab_javascript

Per avviare il programma scrivi il comando:
node prova.js

Usa la stessa procedura per creare e lanciare qualunque programma JavaScript

Per imparare a programmare in Python e JavaScript clicca qui.


Gli esempi seguenti descrivono le tecniche fondamentali di programmazione per imparere a gestire le stringhe con Python e JavaScript.
Per eseguire il codice, crea un file di testo in Visual Studio Code, copia e incolla il codice dell'esempio e salvalo con estensione py nella directory c:\lab_python se è un esempio Python, altrimenti salvalo nella directory c:\lab_javascript con l'estensione js se è un esempio JavaScript

Infine, per avviare il codice procedi come indicato nell'attività:

4. Configurazione di Visual Studio Code

del capitolo "Come preparare l'ambiente di lavoro per eseguire gli esempi Python e JavaScript". 
 


Esempio 1

Visualizzare la lunghezza della stringa nominativo.

Soluzione Python:

# Lunghezza stringa
nominativo='Competenze per programmare'
print('Stringa nominativo: '+nominativo)
# La funzione len restitusce un numero intero che corrisponde alla lunghezza della stringa data come argomento
# La funzione str converte il numero intero corrispondente alla lunghezza della stringa, in stringa
# Python non riesce a concatenare stringhe con numeri interi o decimali, qundi i numeri devono essere trasformati in stringhe
print('Lunghezza stringa: '+str(len(nominativo))) 

----- OUTPUT -----

Stringa nominativo: Competenze per programmare
Lunghezza stringa: 26

Soluzione JavaScript:

// Lunghezza stringa
var nominativo='Competenze per programmare'
console.log('Stringa nominativo: '+nominativo)
console.log('Lunghezza stringa: '+nominativo.length) 

Esempio 2

Inserire due numeri da tastiera e stampare la loro somma.

Soluzione Python:

# Stampare la somma di due numeri interi inseriti da tastiera

# I numeri inseriti da tastiera sono stringhe, la funzione int li converte in numeri interi
numeroUno=int(input("Primo numero da sommare: "))
numeroDue=int(input("Secondo numero da sommare: "))
somma=numeroUno+numeroDue
# La funzione str converte i numeri interi o decimali in stringhe, perché Python concatena solo stringhe
print("La somma dei numeri "+str(numeroUno)+" e "+str(numeroDue)+" è "+str(somma)+".")

----- OUTPUT -----

Primo numero da sommare: 10
Secondo numero da sommare: 5
La somma dei numeri 10 e 5 è 15.

Soluzione JavaScript:

// Stampare la somma di due numeri interi inseriti da tastiera
// I numeri inseriti da tastiera sono stringhe, la funzione int li converte in numeri interi
var input=require("readline-sync")
var numeroUno=0
var numeroDue=0
numeroUno=parseInt(input.question("Primo numero da sommare: "))
numeroDue=parseInt(input.question("Secondo numero da sommare: "))
var somma=numeroUno+numeroDue
console.log("La somma dei numeri "+numeroUno+" e "+numeroDue+" è "+somma+".")

Esempio 3

Inserire un dividendo e un divisore da tastiera e stampare il risultato della loro divisione.

Soluzione Python:

# Stampare la divisione di due numeri decimali inseriti da tastiera

# I numeri inseriti da tastiera sono stringhe, la funzione float li converte in numeri decimali
dividendo=float(input("Dividendo: "))
divisore=float(input("Divisore: "))
risultato=dividendo/divisore
# Arrotondo il risultato a 2 cifre decimali con la funzione round
risultato=round(risultato*100)/100
print("La divisione tra "+str(dividendo)+" e "+str(divisore)+" è "+str(risultato)+".")

----- OUTPUT -----

Dividendo: 10
Divisore: 3
La divisione tra 10.0 e 3.0 è 3.33.
 

Soluzione JavaScript:

// Stampare la divisione di due numeri decimali inseriti da tastiera
// I numeri inseriti da tastiera sono stringhe, la funzione float li converte in numeri decimali
var input=require("readline-sync")
var dividendo=0.0
var divisore=0.0
var risultato=0.0
dividendo=parseFloat(input.question("Dividendo: "))
divisore=parseFloat(input.question("Divisore: "))
risultato=dividendo/divisore
// Arrotondo il risultato a 2 cifre decimali con la funzione round
risultato=Math.round(risultato*100)/100
console.log("La divisione tra "+dividendo+" e "+divisore+" è "+risultato+".")

 


Esempio 4

Inserire una frase da tastiera tutta minuscola e stampare le parole che la compongono in maiuscolo, usando lo spazio come separatore.

Soluzione Python:

# Stampa in maiuscolo le parole della frase inserita in minuscolo, usando lo spazio come separatore
frase=input("Inserisci una frase scritta in minuscolo: ")
# Estraggo tutte le parole della stringa con il metodo split, usando lo spazio come delimitatore
# Il metodo split crea una lista di stringhe che sono le parole della frase
parole=frase.split(" ")
# Leggo le parole dalla lista e le stampo in maiuscolo usando il metodo upper
for x in range(len(parole)):
    print(str(x+1)+") "+parole[x].upper())

----- OUTPUT -----

Inserisci una frase scritta in minuscolo: una bella giornata
1) UNA
2) BELLA
3) GIORNATA

Soluzione JavaScript:

// Stampa in maiuscolo le parole della frase inserita in minuscolo, usando lo spazio come separatore
var input=require("readline-sync")
var frase=""
frase=input.question("Inserisci una frase scritta in minuscolo: ")
// Estraggo tutte le parole della stringa con il metodo split, usando lo spazio come delimitatore
// Il metodo split crea una lista di stringhe che sono le parole della frase
parole=frase.split(" ")
// Leggo le parole dalla lista e le stampo in maiuscolo usando il metodo toUpperCase
for (var x=0;x<parole.length;x++){
    console.log((x+1)+") "+parole[x].toUpperCase())
}

 

Esempio 5

Inserire una frase da tastiera tutta minuscola e stampare le parole che la compongono in maiuscolo, usando lo spazio come separatore.

Soluzione Python:

# Stampa in minuscolo le parole della frase inserita in maiuscolo, usando lo spazio come separatore
frase=input("Inserisci una frase scritta in maiuscolo: ")
# Estraggo tutte le parole della stringa con il metodo split, usando lo spazio come delimitatore
# Il metodo split crea una lista di stringhe che sono le parole della frase
parole=frase.split(" ")
# Leggo le parole dalla lista e le stampo in minuscolo
for x in range(len(parole)):
    print(str(x+1)+") "+parole[x].lower())

 

----- OUTPUT -----

Inserisci una frase scritta in maiuscolo: UNA BELLA GIORNATA
1) una
2) bella
3) giornata

Soluzione JavaScript:

// Stampa in minuscolo le parole della frase inserita in maiuscolo, usando lo spazio come separatore
var input=require("readline-sync")
var frase=""
frase=input.question("Inserisci una frase scritta in maiuscolo: ")
// Estraggo tutte le parole della stringa con il metodo split, usando lo spazio come delimitatore
// Il metodo split crea una lista di stringhe che sono le parole della frase
parole=frase.split(" ")
// Leggo le parole dalla lista e le stampo in minuscolo usando il metodo toLowerCase
for (var x=0;x<parole.length;x++){
    console.log((x+1)+") "+parole[x].toLowerCase())
}

Esempio 6

Inserire una frase da tastiera e stampare i codici ASCII dei caratteri che la compongono.

Soluzione Python:

# Inserisci una frase e stampa il codice ASCII dei caratteri
frase=input("Inserisci una frase: ")
for x in range(len(frase)):
    print("["+frase[x]+"]{"+str(ord(frase[x]))+"}",end="")

----- OUTPUT -----

Inserisci una frase: Una bella giornata
[U]{85}[n]{110}[a]{97}[ ]{32}[b]{98}[e]{101}[l]{108}[l]{108}[a]{97}[ ]{32}[g]{103}[i]{105}[o]{111}[r]{114}[n]{110}[a]{97}[t]{116}[a]{97}

 

Soluzione JavaScript:

// Inserisci una frase e stampa il codice ASCII dei caratteri
var input=require("readline-sync")
var frase=""
var riga=""
frase=input.question("Inserisci una frase: ")
for (var x=0;x<frase.length;x++){
    riga+="["+frase.charAt(x)+"]{"+frase.charCodeAt(x)+"}"
}
console.log(riga)

Esempio 7

Inserire una frase da tastiera e stamparla al contrario.

Soluzione Python:

# Inserisci una frase e stampala al contrario
frase=input("Inserisci una frase: ")
for x in range(len(frase)-1,-1,-1):
    print(frase[x],end="")

----- OUTPUT -----

Inserisci una frase: Una bella giornata
atanroig alleb anU

Soluzione JavaScript:

// Inserisci una frase e stampala al contrario
var input=require("readline-sync")
var frase=""
var riga=""
frase=input.question("Inserisci una frase: ")
for (var x=frase.length-1;x>=0;x--){
    riga+=frase.charAt(x)
}
console.log(riga)

Esempio 8

Inserisci una frase da tastiera e cerca una parola, ignorando la differenza tra maiscolo e minuscolo.

 

Soluzione Python:

# Inserisci una frase e cerca una parola, ignora maiscolo e minuscolo
frase=input("Inserisci una frase: ").lower()
risposta='s'
while risposta=='s':
    parola=input("Inserisci la parola da cercare: ")
    posizione=frase.find(parola.lower())
    if posizione==-1:
        print("La parola "+parola+" non è stata trovata.")
    else:
        print("La parola "+parola+" è stata trovata alla posizione "+str(posizione+1)+".")
    risposta=input("Vuoi inserire una nuova parola da cercare (s/n)? ").lower()
    while risposta!='s' and risposta!='n':
        print("Errore: inserire s oppure n")
        risposta=input("Vuoi inserire una nuova parola da cercare (s/n)? ").lower()

----- OUTPUT -----

Inserisci una frase: Una bella giornata
Inserisci la parola da cercare: bella
La parola bella è stata trovata alla posizione 5.
 

Soluzione JavaScript:

 
// Inserisci una frase e cerca una parola, ignora maiscolo e minuscolo
var input=require("readline-sync")
var frase=""
frase=input.question("Inserisci una frase: ").toLowerCase()
do{
    parola=input.question("Inserisci la parola da cercare: ")
    posizione=frase.indexOf(parola.toLowerCase())
    if (posizione==-1){
        console.log("La parola "+parola+" non è stata trovata.")
    }else{
        console.log("La parola "+parola+" è stata trovata alla posizione "+(posizione+1)+".")
    }
    risposta=input.question("Vuoi inserire una nuova parola da cercare (s/n)? ").toLowerCase()
    while(risposta!='s' && risposta!='n'){
        console.log("Errore: inserire s oppure n")
        risposta=input.question("Vuoi inserire una nuova parola da cercare (s/n)? ").toLowerCase()
    }
}while(risposta=='s')
 

Esempio 9

Inserisci una frase da tastiera e cerca una parola, ignorando la differenza tra maiscolo e minuscolo.
Se trovi la parola cercata, sostituiscila con una nuova parola.

Soluzione Python:

# Inserisci una frase e cerca e sostituisci una parola
frase=input("Inserisci una frase: ")
risposta='s'
while risposta=='s':
    parola=input("Inserisci la parola da cercare: ")
    posizione=frase.lower().find(parola.lower())
    if posizione==-1:
        print("La parola "+parola+" non è stata trovata.")
    else:
        print("La parola "+parola+" è stata trovata alla posizione "+str(posizione+1)+".")
        parolaNuova=input("Inserisci la parola da sostituire: ")
        frase=frase.replace(parola,parolaNuova,posizione)
        print("La nuova frase è: "+frase+".")
    risposta=input("Vuoi inserire una nuova parola da cercare (s/n)? ").lower()
    while risposta!='s' and risposta!='n':
        print("Errore: inserire s oppure n")
        risposta=input("Vuoi inserire una nuova parola da cercare (s/n)? ").lower()
 

----- OUTPUT -----

Inserisci una frase: Una buona giornata
Inserisci la parola da cercare: buona
La parola buona è stata trovata alla posizione 5.
Inserisci la parola da sostituire: bella
La nuova frase è: Una bella giornata.

Soluzione JavaScript:

// Inserisci una frase e cerca e sostituisci una parola
var input=require("readline-sync")
var frase=""
var parolaCercata=""
var parolaNuova=""
frase=input.question("Inserisci una frase: ").toLowerCase()
do{
    parolaCercata=input.question("Inserisci la parola da cercare: ")
    posizione=frase.indexOf(parolaCercata.toLowerCase())
    if (posizione==-1){
        console.log("La parola "+parolaCercata+" non è stata trovata.")
    }else{
        console.log("La parola "+parolaCercata+" è stata trovata alla posizione "+(posizione+1)+".")

        parolaNuova=input.question("Inserisci la parola da sostituire: ")
        frase=frase.replace(parolaCercata,parolaNuova)
        console.log(frase)
    }
    risposta=input.question("Vuoi inserire una nuova parola da cercare (s/n)? ").toLowerCase()
    while(risposta!='s' && risposta!='n'){
        console.log("Errore: inserire s oppure n")
        risposta=input.question("Vuoi inserire una nuova parola da cercare (s/n)? ").toLowerCase()
    }
}while(risposta=='s')

Esempio 10

Inserisci una frase da tastiera e verifica se è palindroma.

Soluzione Python:

# Inserisci una frase e verifica se è palindroma
risposta='s'
while risposta=='s':
    palindroma=False
    frase=input("Inserisci una frase: ")
    # Elimino gli spazi dalla frase e la converto in minuscolo
    fraseBis=frase.replace(" ","").lower()
    # Elimino gli apostrofi dalla frase

    fraseBis=fraseBis.replace("'","")
    if len(fraseBis)<2:
        palindroma=True
    else:
        # Calcolo gli indici che servono per controllare i caratteri a sinistra della frase, con quelli a destra
        # Indice medio, che indica la fine del controllo
        indiceMedio=int(len(fraseBis)/2)
        # Indice finale, indica il primo carattere a destra, da confrontare con il primo carattere a sinistra della frase

        indiceFine=len(fraseBis)-1
        palindroma=True
        # Controllo tutti i caratteri a sinistra del punto medio della frease, con quellli a destra, se sono tutti uguali allora la frase è palindroma
        for x in range(indiceMedio):
            if fraseBis[x]!=fraseBis[indiceFine-x]:
                palindroma=False
                break
        if palindroma:
            print("La frase "+frase+" è palindroma.")
        else:    
            print("La frase "+frase+" non è palindroma.")
    risposta=input("Vuoi continuare (s/n)? ").lower()
    while risposta!='s' and risposta!='n':
        print("Errore: inserire s oppure n")
        risposta=input("Vuoi continuare (s/n)? ").lower()

 

Soluzione JavaScript:

// Inserisci una frase e verifica se è palindroma
var risposta = ''
var input = require("readline-sync")
var frase = ""
var indiceMedio = 0
var indiceFine = 0
do {
    var palindroma = false
    frase = input.question("Inserisci una frase: ")
    // Elimino gli spazi dalla frase e la converto in minuscolo
    fraseBis = frase.replace(" ", "").toLowerCase()
    // Elimino gli apostrofi dalla frase
    fraseBis = fraseBis.replace("'", "")
    if (fraseBis.length < 2) {
        palindroma = true
    } else {
        // Calcolo gli indici che servono per controllare i caratteri a sinistra della frase, con quelli a destra
        // Indice medio, che indica la fine del controllo
        indiceMedio = Math.floor(fraseBis.length / 2)
        // Indice finale, indica il primo carattere a destra, da confrontare con il primo carattere a sinistra della frase
        indiceFine = fraseBis.length - 1
        palindroma = true
        // Controllo tutti i caratteri a sinistra del punto medio della frease, con quellli a destra, se sono tutti uguali allora la frase è palindroma
        for (var x = 0; x < indiceMedio; x++) {
            if (fraseBis.charAt(x) != fraseBis.charAt(indiceFine - x)) {
                console.log(fraseBis.charAt(x))
                palindroma = false
                break
            }
        }
    }
    if (palindroma) {
        console.log("La frase " + frase + " è palindroma.")
    } else {
        console.log("La frase " + frase + " non è palindroma.")
    }
    risposta = input.question("Vuoi continuare (s/n)? ").toLowerCase()
    while (risposta != 's' && risposta != 'n') {
        print("Errore: inserire s oppure n")
        risposta = input.question("Vuoi continuare (s/n)? ").toLowerCase()
    }
} while (risposta == 's')

 

Esempio 11

Creare una stringa csv, che contiene 10 cognomi e nomi. Stampare l'elenco dei cognome e nomi della stringa, con un progressivo numerico e ordinati alfabeticamente.

Soluzione Python:

# Stampa elenco cognomi e nomi ordinato alfabeticamente
# csv = comma separated values (elenco valori separati da una virgola)
nominativiCSV="Rossi Alberto,Verdi Carla,Bianchi Roberta,Di Somma Paolo,De Gregorio Giacomo,"
nominativiCSV+="Rossi Paola,Verdi Loredana,Bianchi Alessandra,Rossi Sonia,Verdi Francesco"
# Trasformo con la funzione split, la stringa csv in una lista di nominativi
nominativi=nominativiCSV.split(",")
# Ordino il contenuto della lista in modo crescente
nominativi.sort()
for i in range(len(nominativi)):
    print(str(i+1)+") "+nominativi[i])

----- OUTPUT -----

1) Bianchi Alessandra
2) Bianchi Roberta
3) De Gregorio Giacomo
4) Di Somma Paolo
5) Rossi Alberto
6) Rossi Paola
7) Rossi Sonia
8) Verdi Carla
9) Verdi Francesco
10) Verdi Loredana

 

Soluzione JavaScript:

// Stampa elenco cognomi e nomi ordinato alfabeticamente
// csv = comma separated values (elenco valori separati da una virgola)
var nominativiCSV="Rossi Alberto,Verdi Carla,Bianchi Roberta,Di Somma Paolo,De Gregorio Giacomo,"
nominativiCSV+="Rossi Paola,Verdi Loredana,Bianchi Alessandra,Rossi Sonia,Verdi Francesco"
// Trasformo con la funzione split, la stringa csv in una lista di nominativi
var nominativi=nominativiCSV.split(",")
// Ordino il contenuto della lista in modo crescente
nominativi.sort()
for (var i=0;i<nominativi.length;i++){
    console.log((i+1)+") "+nominativi[i])
}

Esempio 12

Creare una lista che contiene 10 cognomi e nomi. Trasformare la lista in una stringa csv e stamparla.

Soluzione Python:

# Crea una lista con 10 cognomi e nomi e convertila in una stringa csv
nominativi=["Rossi Alberto","Verdi Carla","Bianchi Roberta","Di Somma Paolo","De Gregorio Giacomo",
"Rossi Paola","Verdi Loredana","Bianchi Alessandra","Rossi Sonia","Verdi Francesco"]
# Trasformo la lista di nominativi in una stringa csv
nominativiCSV=",".join(nominativi)
print(nominativiCSV)

----- OUTPUT -----

Rossi Alberto,Verdi Carla,Bianchi Roberta,Di Somma Paolo,De Gregorio Giacomo,Rossi Paola,Verdi Loredana,Bianchi Alessandra,Rossi Sonia,Verdi Francesco

Soluzione JavaScript:

// Crea una lista con 10 cognomi e nomi e convertila in una stringa csv
var nominativi=["Rossi Alberto","Verdi Carla","Bianchi Roberta","Di Somma Paolo","De Gregorio Giacomo",
"Rossi Paola","Verdi Loredana","Bianchi Alessandra","Rossi Sonia","Verdi Francesco"]
// Trasformo la lista di nominativi in una stringa csv
var nominativiCSV=nominativi.join(",")
console.log(nominativiCSV)

Che cos'è lo slicing?

In inglese ti slice significa affettare o sminuzzare; in programmazione è la tecnica che usano i programmatori per estrarre sottostringhe da una stringa.
Per eseguire questa operazione devi indicare la posizione iniziale e quella finale della sottostringa da estrarre, ricordando che l'inizio della stringa corrisponde sempre alla posizione 0, come mostra l'immagine seguente:

Con Python le posizioni si possono anche indicare con numeri negativi.

Esempio 13

Estrarre dalla stringa "La formazione crea 1000 opportunità di lavoro", la sottostringa "La formazione"

Soluzione Python:

# Estrarre la sottostringa "La formazione"
stringa="La formazione crea 1000 opportunità di lavoro"
sottostringa=stringa[0:13]
print(sottostringa)
# Oppure utilizzando le coordinate negative
sottostringa=stringa[:-32]
print(sottostringa)

 

----- OUTPUT -----

La formazione
La formazione

Soluzione JavaScript:

// Estrarre la sottostringa "La formazione"
stringa="La formazione crea 1000 opportunità di lavoro"
sottostringa=stringa.substring(0,13)
console.log(sottostringa)

 

Esempio 14

Estrarre dalla stringa "La formazione crea 1000 opportunità di lavoro", la sottostringa "1000"

Soluzione Python:

# Estrarre la sottostringa "1000"
stringa="La formazione crea 1000 opportunità di lavoro"
sottostringa=stringa[19:23]
print(sottostringa)

 

----- OUTPUT -----

1000

Soluzione JavaScript:

// Estrarre la sottostringa "1000"
var stringa="La formazione crea 1000 opportunità di lavoro"
var sottostringa=stringa.substring(19,23)
console.log(sottostringa)
 
 

Esempio 15

Estrarre dalla stringa "La formazione crea 1000 opportunità di lavoro", la sottostringa "lavoro"

Soluzione Python:

# Estrarre la sottostringa "lavoro"
stringa="La formazione crea 1000 opportunità di lavoro"
sottostringa=stringa[39:]
print(sottostringa)
# Oppure
sottostringa=stringa[-6:]
print(sottostringa)

 

----- OUTPUT -----

lavoro
lavoro

Soluzione JavaScript:

// Estrarre la sottostringa "Lavoro"
stringa="La formazione crea 1000 opportunità di lavoro"
sottostringa=stringa.substring(39)
console.log(sottostringa)

Leggi anche le altre lezioni:

COMPETENZE PER PROGRAMMARE: LA RAPPRESENTAZIONE DIGITALE DEI NUMERI INTERI E DECIMALI
COMPETENZE PER PROGRAMMARE: MONDO REALE E MONDO DIGITALE
COMPETENZE PER PROGRAMMARE: I SISTEMI DI NUMERAZIONE


Segui sul canale YouTube "Skill Factory Channel" la PlayLIst: COMPETENZE PER PROGRAMMARE
Per consultare il catalogo dei corsi online della nostra Academy ...

... collegati al nostro sito: www.skillfactory.it

 

python javascript stringa palindroma codifica ascii ascii utf-8 codifica unicode unicode utf-16 node.js visual studio code lunghezza stringhe concatenamento stringhe readline-sync parseint parsefloat split csv comma separated values charat charcodeat

Share Button
TOP