|
|||||||
|
|
|
![]() |
|
|
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 20: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: 18:22.



















