Stringhe 3

Metodi base

Slide adattate da softpython

Premi esc per l'overview generale

1. Introduzione 1

Risultato Metodo Significato
str str.upper() Ritorna la stringa con tutti i caratteri maiuscoli
str str.lower() Ritorna la stringa con tutti i caratteri minuscoli
str str.capitalize() Ritorna la stringa con il primo carattere maiuscolo
bool str.startswith(str) Controlla se la stringa inizia con un’altra
bool str.endswith(str) Controlla se la stringa finisce con un’altra
bool str.isalpha() Controlla se tutti i caratteri sono alfabetici
bool str.isdigit() Controlla se tutti i caratteri sono cifre
bool str.isupper() Controlla se tutti i caratteri sono maiuscoli
bool str.islower() Controlla se tutti i caratteri sono minuscoli

2. Upper 1

Metodo upper
  • str.upper() prende la stringa su cui è applicato
  • ne crea una NUOVA con tutti i caratteri in maiuscolo

2. Upper 2

Esercizio - cammina

Scrivi del codice che data una stringa x (per es: x='cammina') stampa due volta la riga

cammina CAMMINA cammina CAMMINA
cammina CAMMINA cammina CAMMINA
  • NON creare altre variabili
  • il tuo codice deve funzionare con qualsiasi stringa

2. Upper 3

Help

Se non sei sicuro riguardo ad un metodo (per esempio strip), puoi chiedere aiuto a Python nel seguente modo

2. Esercizi vari 1

Esercizio - lowermezzo

Scrivi del codice che data una stringa qualsiasi x di lunghezza dispari, stampa una nuova stringa uguale a x eccetto al carattere in mezzo che deve essere in minuscolo

  • Il tuo codice deve funzionare con qualunque stringa!
  • SUGGERIMENTO: per calcolare la posizione del carattere in mezzo, usa la divisione intera con l’operatore //

Esempio: dato

x = 'ASCENSORE'

il tuo codice deve stampare ASCEnSORE

Esempio: dato

x = 'LAMPADA'

il tuo codice deve stampare LAMpADA

2. Esercizi vari 2

Esercizio - Vostra Eccellenza

Scrivere del codice che date due stringhe qualsiasi x e y restituisce le due stringhe concatenate, separandole con uno spazio ed entrambe tutte in minuscolo eccetto le rispettive prime lettere che devono essere maiuscole.

Esempio: dati

x = 'vosTRA'
y = 'ecCeLLeNza'

il tuo codice deve stampare Vostra Eccellenza

Esempio: dati

x = 'sUa'
y = 'maEStà'

il tuo codice deve stampare Sua Maestà

2. Esercizi vari 3

Esercizio - Per Giove

Scrivere del codice che date tre stringhe qualsiasi x, y e z, stampa True se entrambe x e y iniziano con la stringa z, altrimenti stampa False

Dati: il codice deve stampare:
x = 'per Giove'
y = 'per Zeus'
z = 'per'
True
x = 'per Giove'
y = 'per Zeus'
z = 'da'
False
x = 'da Giove'
y = 'per Zeus'
z = 'per'
False

2. Esercizi vari 4

Esercizio - Snobbonis

Dati nomi di coppie marito e moglie, scrivi del codice che

stampa True se condividono il cognome, False altrimenti.

  • assumi che il cognome sia sempre alla stessa posizione
  • il tuo codice deve funzionare per qualsiasi coppia marito moglie

2. Esercizi vari 5

Esercizio - Combattiamo gli hacker

Come è noto nei piani bassi dell’Interpol, gli hacker internazionali comunicano usando una lingua ricca di slang chiamata Leet. Tuttavia questa moda si sta diffondendo anche nelle scuole, dove si viene considerati K001 (cool) se si sa comunicare in questa scomoda maniera. La base è cercare di sostituire alle lettere dei numeri durante la scrittura (qui una guida completa).

1 -> i
2 -> z
3 -> e
4 -> h, a, y
etc

Scrivi un codice che controlla i nome e cognome forniti dagli studenti per evitare che si esprimano in questa maniera, che Dante di sicuro disapprova!

  • stampa True se almeno una delle parole contiene numeri al posto di lettere, altrimenti stampa False
  • Il codice deve essere generico, valido per tutte le parole
  • NON usare l’istruzione if

2. Esercizi vari 6

Esercizio - Combattiamo gli hacker

Dati

nome = 'Cool'
cognome = 'H4ck3r'

il codice deve stampare True

2. Esercizi vari 7

Esercizio - Vendere numeri

La multinazionale ToxiCorp è riuscita a mettere le mani su un tesoro di dati personali di ignari utenti, e ti propone di analizzarli per poi vendere informazioni private sul mercato nero al miglior offerente. L’offerta ti pare questionabile, ma pagano bene, perciò accetti.

Occorre capire che dati sono e come catalogarli. Tra i tanti hai trovato una serie di stringhe che sembrano dei numeri di telefono. Ogni numero dovrebbe essere così composto:

+[prefisso nazionale 39][10 numeri]

Per esempio, questo è un numero valido: +392574856985

Scrivi del codice che stampa True se la stringa è un numero telefonico, False altrimenti

  • Prova le varie combinazioni scommentando telefono
  • Il codice deve essere generico, valido per tutti i numeri

2. Esercizi vari 8

Esercizio - Vendere numeri

Dato

telefono = '+392574856985'

il codice deve stampare True

2. Esercizi vari 9

Esercizio - nani e GIGANTI

In un mondo fantasy eccitante e sconosciuto vivono due popolazioni: si tratta dei nani e dei GIGANTI.

  • I nani amano dare nomi ai propri pargoli che contengono solo lettere minuscole.
  • I GIGANTI invece non devono nemmeno pensarci, perchè come scritto sulle tavole di GROCK i nomi dei GIGANTI possono solo avere lettere maiuscole.

Un giorno arrivò una minaccia malvagia da un regno lontano e come in tutti i clichè fu composta una compagnia. Una profezia diceva che solo una compagnia mista di GIGANTI e di nani per un totale di 4 persone avrebbe potuto sconfiggere il malvagio di turno.

  1. Scrivi del codice che controlla se quattro componenti possono comporre una compagnia valida:
    • Stampa True se i quattro nomi sono sia di nani che di GIGANTI, altrimenti se sono di una sola delle due popolazioni stampa False
    • Il codice deve essere generico, valido per tutte le stringhe
  2. Cerca dei nomi di GIGANTI e nomi di nani e prova a metterli, facendo attenzione a tradurli con la capitalizzazione tutta minuscola / tutta maiuscola corretta, es “Jisog” non è un nome di gigante valido, va tradotto alla scrittura gigantica “JISOG”.

2. Esercizi vari 10

Esercizio - nani e GIGANTI

Dati

avv1 = 'krakrerlig'
avv2 = 'GUCAM'
avv3 = 'SUXGROG'
avv4 = 'kodearen'

il codice deve stampare True