2011-02-06 16 views
5

python n00b qui facendo il pythonchallenge, bloccato al centro di un livello proprio ora.Python - stampa "x" "y" volte quando viene passato in una lista di [x, y]

es: (['', 10], [ '#', 20])

Come si stampa spazio 10 volte con Python? Ho provato molte cose, ma nessuna ha funzionato ...

Grazie!

modifica: Non sto cercando di imparare come usare for-loops, ma piuttosto le tecniche di list-manipulation (è quello che vengono chiamate?) Che posso utilizzare per stampare un elenco con qualsiasi valore come il primo elemento .... grazie per le risposte però!

risposta

15
print ' ' * 10 

Come per qualsiasi altro carattere, ad es.

print 'a' * 10 

Quindi per la vostra lista, supponendo si chiama l:

for c, n in l: 
    print c * n 
+0

Grazie per aver risposto! ma c'è un modo per stampare ciò che è nel primo array? – JBS

+0

Sì, utilizzando un ciclo 'for'. Ho aggiunto un esempio. – Mikel

+0

Ehi! questo è esattamente quello che stavo cercando! Ho fatto qualcosa come [c, n] = l, ma non ha funzionato .... grazie! – JBS

1

In Python è possibile moltiplicare una stringa da un intero per ottenere una versione ripetuta della stringa:

>>> mystring = ' ' * 10 
>>> mystring 
'   ' 

Ovviamente, è possibile stampare direttamente il risultato dell'espressione:

>>> print '#' * 20 
#################### 

Questo funziona anche per le tuple e liste:

>>> (1,2,3) * 2 
(1, 2, 3, 1, 2, 3) 
>>> ['a','b','c'] * 3 
['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c'] 
0
print ' ' * 10 

Tu non puoi vederlo, perché è lo spazio.

Problemi correlati