Saya bisa saja salah (beri tahu saya dan saya akan menghapus pertanyaannya) tetapi tampaknya python tidak mau merespons
for n in range(6,0):
print n
Saya mencoba menggunakan xrange dan tidak berhasil juga. Bagaimana saya bisa menerapkan itu?
for i in reversed(mat):
meskipun itu mungkin lebih lambatJawaban:
sumber
range(5,-1,-1)
. Meskipun dia mungkin bisa mengetahuinya dari trial and error.Ini sudah sangat terlambat, tetapi saya hanya ingin menambahkan bahwa ada cara yang lebih elegan: menggunakan
reversed
memberikan:
sumber
reversed(range)
secara gratis karenarange_reverse
pengoptimalan yang bagus dibangun ke dalam CPython. Saya melakukan beberapa tolok ukur cepat dan tidak dapat menemukan perbedaan biaya yang signifikan antarastep=-1
danreversed()
di Python 2.7 dan 3.3. Perlu diketahui juga bahwa idiom ini digunakan di heapq .xrange
dalam pengujian Python 2.7 Anda,reverse
akan beroperasi pada daftar biasa yang sudah dibuat, bukan pada objek jangkauan; jadi apakah Anda mengatakan daftar apa pun dapat secara efisien dibalik, atau hanyarange/xrange
objek? (kode heapq yang Anda tautkan melibatkan objek rentang Python 3).step=-1
kereversed()
antara Python 2.3 dan 2.4reversed(range(10))
tidak mungkin4
keluar0
. Mungkin maksudmurange(5)
?Ini akan memberimu
6,5,4,3,2,1
Adapun
akan memberimu
5,4,3,2,1,0
sumber
sumber
sumber
0 adalah nilai kondisional jika kondisi ini benar, loop akan terus berjalan. 10 adalah nilai awal. 1 adalah pengubah dimana mungkin pengurangan sederhana.
sumber
Terlambat ke pesta, tetapi bagi siapa pun yang ditugasi membuat sendiri atau ingin melihat cara kerjanya, berikut fungsi dengan bonus tambahan untuk mengatur ulang nilai start-stop berdasarkan kenaikan yang diinginkan:
Kenaikan negatif:
Atau, dengan start-stop terbalik:
Keluaran:
Kenaikan reguler:
Keluaran:
Kenaikan nol:
Keluaran:
sumber
Untuk python3 di mana
-1
menunjukkan nilai yang akan dikurangi di setiap langkahfor n in range(6,0,-1): print(n)
sumber