ire98
Profilo di
Nome | ire98 |
---|---|
Indirizzo email | n/a |
Messaggi | 6 |
-
- 2019-02-05 12:24:49
- Re: ricorsione
- Forum >> Principianti
-
Ti ringrazio per la risposta, chiarissimo come sempre.
Però mi rimane un dubbio sulla creazione della lst2 con la ricorsione... secondo quale metodo si crea lst2?
Se ad esempio utilizzo cane come stringa la lst2 che mi si viene a formare è
lst2 = [ane, nae, nea, aen, ean, ena]
Perché?
PS: purtroppo non ho tempo di seguire un libro al momento, sto cercando di ottenere un'infarinatura generica
-
- 2019-02-03 19:09:10
- ricorsione
- Forum >> Principianti
-
Ciao a tutti!
Ho dei dubbi sulla ricorsione, non tanto sulla loro applicazione all'interno del codice ma più riguardo il suo funzionamento intrinseco.
Riporto un esempio qui sotto; in questo caso l'esercizio richiede di fornire tutte le possibili permutazioni di una stringa s (presa senza caratteri ripetuti). Non mi è chiaro in questo caso quale sia il contenuto della lista lst2, che in questo caso facendo un return lst2, mi restituisce solo l'ultimo carattere della stringa quando pensavo mi restituisse l'intera lista delle permutazioni della stringa s[1:].
Spero di essere stata chiara e vi ringrazio in anticipo!
def recursivePermutation(s):
if len(s) == 0:
return []
if len(s) == 1:
return s
lst = []
c = s[0]
lst2 = recursivePermutation(s[1:])
for ss in lst2 :
for i in range(len(ss)+1):
lst.append(ss[:i] + c + ss[i:])
return lst
-
- 2019-02-02 15:41:21
- Re: stampare matrice incolonnata
- Forum >> Principianti
- pypy pypy said @ 2019-02-02 12:08:32:
matrix=[] for x in range(4): matrix.append([0]*3) print(matrix[x])
un'alternativa
--- Ultima modifica di pypy in data 2019-02-02 12:46:30 ---ok grazie
-
- 2019-02-02 11:44:12
- Re: stampare matrice incolonnata
- Forum >> Principianti
- Python.append(Me) said @ 2019-02-02 11:39:11:Buongiorno ire98,
per creare la tua matrice stai usando delle liste, dato che la tua matrice è una matrice nulla 4 x 3 puoi crearla in uno di questi modi:
# il metodo che hai usato tu: matrice_1 = [] for x in range(4): matrice.append([ 0 ]*3) # un metodo più rapido matrice_2 = [[ 0 ]*3 for x in range(4)]
Nel momento in cui vuoi stamparla presumo tu voglia ottenete qualcosa come:
[0, 0, 0] [0, 0, 0] [0, 0, 0] [0, 0, 0]
Ti consiglio quindi di stamparla una riga alla volta:
matrice = [[ 0 ]*3 for x in range(4)] for row in matrice: print(row)
Eseguendolo otterrai:[0, 0, 0] [0, 0, 0] [0, 0, 0] [0, 0, 0]
Puoi, volendo, costruire una funzione che lo faccia da sola ogni volta:
def print_matrix(matrice): for row in matrice: print(row)
Quindi:
>>> matrice = [[ 0 ]*3 for x in range(4)] >>> matrice [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]] >>> print_matrix(matrice) [0, 0, 0] [0, 0, 0] [0, 0, 0] [0, 0, 0] >>>
Spero possa tornarti utile
--- Ultima modifica di Python.append(Me) in data 2019-02-02 11:39:43 ---
--- Ultima modifica di Python.append(Me) in data 2019-02-02 11:41:04 ---
--- Ultima modifica di Python.append(Me) in data 2019-02-02 11:41:30 ---
Hai capito perfettamente quello che intedevo! Sei stato molto chiaro, grazie mille per la risposta!
-
- 2019-02-02 11:38:13
- Re: stampare matrice incolonnata
- Forum >> Principianti
- RicPol said @ 2019-02-02 11:05:59:... e tu "stampala" una riga alla volta.
Se sei davvero alle prime armi, "stampare" una matrice dovrebbe essere l'ultimo dei tuoi problemi... il consiglio è sempre di imparare per gradi seguendo un buon libro (il Lutz è sempre una scommessa sicura).
So già che per poter "stampare" ( quale altro termine potrei usare?!) una matrice in colonna potrei farlo riga per riga,
solo che stavo cercando un metodo un po' più formale per risolvere questo problema.
Grazie del consiglio per il libro !
-
- 2019-02-02 10:58:21
- stampare matrice incolonnata
- Forum >> Principianti
-
Ciao a tutti!
Devo stampare una matrice composta di soli zeri con 4 righe e 3 colonne incolonnata correttamente…
Ho generato la matrice qui sotto ma non ho idea di come poterla stampare correttamente..
Sono davvero alle prime armi, quindi vi ringrazio già per l'aiuto!
matrix = []
for x in range(4):
matrix.append([0]*3)
print(matrix)