帮忙解释两个for循环
各位大大,这是一个用*输出倒直角三角形的例子,这两个for循环我不是很白,特别是里面的那个,能解释下么,谢谢啦~
for($i=1;$i<15;$i++){ for($j=$i;$j<15;$j++){ echo "*"; } echo "<br>"; }
回复讨论(解决方案)
为什么还要有个变量$j去等于外层的变量$i,再次循环一遍呢?
你首先理解下单个发for循环含义!如果里面不再做一次循环就不会出现3角了,而是竖着的14个*
$j = $i;//是让内层循环的起始值等于外层的值//每次都少输出一个*//外层第一次循环,内层输出14个*//外层第二次循环,内层输出13个*//以此类推只到循环结束
$j = $i;
关于这两个变量,我这样说看你能不能理解。
$i代表的是行数,即第一次循环代表第一行,依次类推,一共十五行。
$j代表的是列数,即每一行有多少列。
把代码稍改动下,输出一个矩形,帮助你理解。改动的地儿:$j=1。
<?php for($i=1;$i<15;$i++){ for($j=1;$j<15;$j++){ echo "*"; } echo "<br>"; }?>
理解for循环
其实可以输出四种直角三角形
$i 可以看做是行, $j可以看做是列
首先看 $i =1;的时候$j =1; j<15,也就是里面的for会循环14次,第一行就会出现14个*,然后里面的for结束开始 $i=2;的循环
然后看 $i =2;的时候$j=2;j<15,里面的for会循环13次,出现13个*,后,开始执行$i=3;
…………
一次循环,最后得到第一行14个*,共14行,最后一行一个*,不知是否清楚.
多练练九九乘法表的输出和菱形的输出
这个我都能理解唉,i=1的时候 第二个for循环1<15 是不是循环14个星 i=2的时候 循环13 以此类推
$i控制执行的行数。
$j控制每一行输出的*数。
很好理解啊。
因为从第一行开始,你的星号个数就要递减,知道了规律,你再结合代码就容易理解了。其实代码还可以这样写。
for($i=1;$i<15;$i++){ for($j=0;$j<15-$i;$j++){ echo "*"; } echo "<br>"; }

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Kita sering melihat pengenalan bilangan K skrin yang kita ada semasa membeli TV, komputer atau telefon mudah alih, seperti skrin 2.8K. Pada masa ini, akan ada rakan yang tidak tahu sangat tentang peranti elektronik dan akan tertanya-tanya tentang maksud skrin 2.8K ini dan apakah resolusinya. Apakah maksud skrin 2.8k? Jawapan: Skrin 2.8k bermakna resolusi skrin ialah 2880*18002K, bermakna bilangan piksel mendatar adalah lebih besar daripada 2000. Untuk skrin saiz yang sama, lebih tinggi resolusi, lebih baik kualiti gambar . Pengenalan kepada peleraian 1. Memandangkan titik, garisan dan permukaan pada skrin semuanya terdiri daripada piksel, lebih banyak piksel yang boleh dipaparkan oleh monitor, lebih halus gambar dan lebih banyak maklumat boleh dipaparkan dalam kawasan skrin yang sama. 2. Lebih tinggi resolusi, lebih banyak bilangan piksel, dan lebih tajam imej deria.

Ekspresi Lambda keluar dari gelung, contoh kod khusus diperlukan Dalam pengaturcaraan, struktur gelung ialah sintaks penting yang sering digunakan. Walau bagaimanapun, dalam keadaan tertentu, kita mungkin mahu keluar daripada keseluruhan gelung apabila keadaan tertentu dipenuhi dalam badan gelung, dan bukannya menamatkan lelaran gelung semasa. Pada masa ini, ciri-ciri ungkapan lambda boleh membantu kita mencapai matlamat untuk melompat keluar dari gelung. Ungkapan Lambda ialah cara untuk mengisytiharkan fungsi tanpa nama, yang boleh mentakrifkan logik fungsi mudah secara dalaman. Ia berbeza daripada pengisytiharan fungsi biasa,

Nota: Artikel ini membandingkan gelung dan rekursi dari perspektif bahasa Go. Semasa menulis program, anda sering menghadapi situasi di mana satu siri data atau operasi perlu diproses berulang kali. Untuk mencapai ini kita perlu menggunakan gelung atau rekursi. Gelung dan rekursi adalah kedua-dua kaedah pemprosesan yang biasa digunakan, tetapi dalam aplikasi praktikal, mereka masing-masing mempunyai kelebihan dan kekurangan, jadi keadaan sebenar perlu dipertimbangkan apabila memilih kaedah yang hendak digunakan. Artikel ini akan menjalankan kajian perbandingan gelung dan rekursi dalam bahasa Go. 1. Gelung Gelung ialah mekanisme yang berulang kali melaksanakan sekeping kod tertentu. Terdapat tiga jenis utama bahasa Go

Artikel ini akan menerangkan secara terperinci bagaimana PHP mengembalikan semua nilai tatasusunan untuk membentuk tatasusunan Editor berpendapat ia agak praktikal, jadi saya berkongsi dengan anda sebagai rujukan . Menggunakan fungsi array_values() Fungsi array_values() mengembalikan tatasusunan semua nilai dalam tatasusunan. Ia tidak mengekalkan kunci tatasusunan asal. $array=["foo" =>"bar","baz" =>"qux"];$values=array_values($array);//$values akan menjadi ["bar","qux"]Menggunakan gelung boleh Gunakan gelung untuk mendapatkan semua nilai tatasusunan secara manual dan menambahnya kepada yang baharu

Antara muka Iterator Antara muka Iterator ialah antara muka yang digunakan untuk melintasi koleksi. Ia menyediakan beberapa kaedah, termasuk hasNext(), next() dan remove(). Kaedah hasNext() mengembalikan nilai Boolean yang menunjukkan sama ada terdapat elemen seterusnya dalam koleksi. Kaedah next() mengembalikan elemen seterusnya dalam koleksi dan mengeluarkannya daripada koleksi. Kaedah remove() mengalih keluar elemen semasa daripada koleksi. Contoh kod berikut menunjukkan cara menggunakan antara muka Iterator untuk mengulang koleksi: Listnames=Arrays.asList("John","Mary","Bob");Iterator

Penggantian panggilan rekursif dalam fungsi Java dengan lelaran Dalam Java, rekursi ialah alat berkuasa yang digunakan untuk menyelesaikan pelbagai masalah. Walau bagaimanapun, dalam beberapa kes, menggunakan lelaran mungkin merupakan pilihan yang lebih baik kerana ia lebih cekap dan kurang terdedah kepada limpahan tindanan. Berikut ialah kelebihan lelaran: Lebih cekap kerana ia tidak memerlukan penciptaan bingkai tindanan baharu untuk setiap panggilan rekursif. Limpahan tindanan kurang berkemungkinan berlaku kerana penggunaan ruang tindanan adalah terhad. Kaedah berulang sebagai alternatif kepada panggilan rekursif: Terdapat beberapa kaedah dalam Java untuk menukar fungsi rekursif kepada fungsi berulang. 1. Gunakan tindanan Menggunakan tindanan ialah cara paling mudah untuk menukar fungsi rekursif kepada fungsi berulang. Tindanan ialah struktur data masuk-dahulu-keluar (LIFO), serupa dengan timbunan panggilan fungsi. publicintfa

Semua bahasa pengaturcaraan tidak dapat dipisahkan daripada gelung. Jadi, secara lalai, kami mula melaksanakan gelung apabila terdapat operasi berulang. Tetapi apabila kita berhadapan dengan sejumlah besar lelaran (berjuta-juta/berbilion baris), menggunakan gelung adalah satu jenayah. Anda mungkin terperangkap selama beberapa jam, hanya untuk menyedari kemudian bahawa ia tidak berfungsi. Di sinilah pelaksanaan vektorisasi dalam python menjadi sangat kritikal. Apakah vektorisasi? Vektorisasi ialah teknik untuk melaksanakan operasi tatasusunan (NumPy) pada set data. Di sebalik tabir, ia menggunakan operasi kepada semua elemen tatasusunan atau siri sekali gus (tidak seperti gelung "untuk" yang mengendalikan satu baris pada satu masa). Seterusnya kami menggunakan beberapa kes penggunaan untuk menunjukkan apa itu vektorisasi. Cari jumlah nombor##Gunakan gelung importtimestart

Cara mengendalikan ralat bersarang gelung PHP dan menjana mesej ralat yang sepadan Semasa pembangunan, kami sering menggunakan pernyataan gelung untuk mengendalikan tugasan berulang, seperti merentasi tatasusunan dan memproses hasil pertanyaan pangkalan data. Walau bagaimanapun, apabila menggunakan sarang gelung, anda kadangkala menghadapi ralat, seperti gelung tak terhingga atau terlalu banyak tahap sarang Masalah ini boleh menyebabkan prestasi pelayan merosot atau ranap. Untuk mengendalikan ralat tersebut dengan lebih baik dan menjana mesej ralat yang sepadan, artikel ini akan memperkenalkan beberapa kaedah pemprosesan biasa dan memberikan contoh kod yang sepadan. 1. Gunakan kaunter untuk
