|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Dec 2007
Città: .......
Messaggi: 188
|
[Python] - Esercizio sulle stringhe
Stavo svolgendo un esercizio proposto dal libro su cui studiando Python:
"Esercizio: scrivi una funzione che prende una stringa come argomento e la stampa un carattere per riga partendo dall'ultimo carattere." Io ho trovato la soluzione volevo vedere se gli esperti di Python me ne tiravano fuori un'altra: Codice:
def Function1(stringa): i = -1 c = 0 while c < len(stringa): lettera = stringa[i] print lettera i = i - 1 c = c + 1
__________________
------------------------------------------------------------------------------------------------------------ Intel Core 2 Duo 2.66Ghz - 3gb Ram - Hard Disk 250gb - Scheda Video: GeForce 8500 Gt da 512mb - Windows Xp Pro SP3 IPHONE 3GS 16GB BLACK MACBOOK PRO 15,4" 2.40GHz - 4GB RAM 320GB HD ------------------------------------------------------------------------------------------------------------ |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 558
|
io avrei fatto una cosa del genere (sicuramente ci sono mille modi più eleganti del mio però
![]() Codice:
def inversePrint(string): for i in range(len(string)): print string[len(string) - 1 - i] |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Codice:
def inverti(stringa): return stringa[::-1] print inverti("Ciao") |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Dec 2007
Città: .......
Messaggi: 188
|
Altre 2 domande gli esercizi li sto svolgendo tutti e qui di seguito posterò i vari codici più che altro volevo i pareri dei più esperti per vedere come migliorarmi. Probabilmente le mie soluzioni in certi casi saranno di sicuro più lunghe e complesse delle vostre (sono 2 settimane che studio Python però :P). Accetto ogni tipo di critica / consiglio
Codice:
Esercizio: modifica la funzione Trova per accettare un terzo parametro che rappresenta la posizione dove si deve cominciare a cercare all'interno della stringa. Codice Base: def Trova(Stringa, Carattere): Indice = 0 while Indice < len(Stringa): if Stringa[Indice] == Carattere: return Indice Indice = Indice + 1 return -1 CODICE MODIFICATO: def Trova(Stringa, Carattere,Posizione): I = Posizione while I < len(Stringa): if Stringa[i] == Carattere: return I I = I +1 return -1
__________________
------------------------------------------------------------------------------------------------------------ Intel Core 2 Duo 2.66Ghz - 3gb Ram - Hard Disk 250gb - Scheda Video: GeForce 8500 Gt da 512mb - Windows Xp Pro SP3 IPHONE 3GS 16GB BLACK MACBOOK PRO 15,4" 2.40GHz - 4GB RAM 320GB HD ------------------------------------------------------------------------------------------------------------ |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Avrei risposto come variabilepippo. Aggiungo un altro esempio giusto per dare una soluzione diversa:
Codice:
print ''.join(reversed('Ciao')) ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys Ultima modifica di cdimauro : 13-10-2008 alle 19:37. |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Dec 2007
Città: .......
Messaggi: 188
|
Volevo sottoporvi anche questo semplicissimo esercizio per vedere se magari c'erano forme più "eleganti" per risolverlo:
['ciao!', 1, ['mela', 'pera', 'banana'], [1, 2, 3]] Esercizio: scrivi un ciclo che attraversa la lista precedente e stampa la lunghezza di ogni elemento. Codice:
def Function1(Lista): i = 0 while i < len(Lista): c = len(Lista[i]) i = i + 1 print c
__________________
------------------------------------------------------------------------------------------------------------ Intel Core 2 Duo 2.66Ghz - 3gb Ram - Hard Disk 250gb - Scheda Video: GeForce 8500 Gt da 512mb - Windows Xp Pro SP3 IPHONE 3GS 16GB BLACK MACBOOK PRO 15,4" 2.40GHz - 4GB RAM 320GB HD ------------------------------------------------------------------------------------------------------------ |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
L'importante è risolvere l'esercizio.
Io avrei risolto così: Codice:
print [len(Elemento) for Elemento in Lista] ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:39.