帮忙解释两个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>"; }

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











2.8K 화면 등 TV나 컴퓨터, 휴대폰 등을 구매할 때 K 화면이 몇 개인지 소개하는 경우를 종종 본다. 이때 전자기기에 대해 잘 모르는 친구들도 있을 것이고, 이 2.8K 화면이 무엇을 의미하는지, 해상도는 무엇인지 궁금해할 것이다. 2.8k 화면은 무엇을 의미합니까? 답변: 2.8k 화면은 화면 해상도가 2880*18002K를 의미하며 이는 수평 픽셀 수가 2000보다 크다는 것을 의미합니다. 동일한 크기 화면의 경우 해상도가 높을수록 화질이 좋아집니다. . 해상도 소개 1. 화면 위의 점, 선, 면은 모두 픽셀로 구성되어 있기 때문에 모니터가 표시할 수 있는 픽셀 수가 많을수록 화면이 더 세밀해지고, 같은 화면 영역에 더 많은 정보를 표시할 수 있습니다. 2. 해상도가 높을수록 픽셀 수가 많아지고 감지된 이미지가 더 선명해집니다.

람다 표현식은 루프에서 벗어나기 때문에 특정 코드 예제가 필요합니다. 프로그래밍에서 루프 구조는 자주 사용되는 중요한 구문입니다. 그러나 특정 상황에서는 현재 루프 반복을 종료하는 대신 루프 본문 내에서 특정 조건이 충족될 때 전체 루프를 중단하고 싶을 수도 있습니다. 이때 람다 표현식의 특징은 루프에서 벗어나는 목표를 달성하는 데 도움이 될 수 있습니다. 람다 표현식은 내부적으로 간단한 함수 논리를 정의할 수 있는 익명 함수를 선언하는 방법입니다. 일반적인 함수 선언과는 다릅니다.

참고: 이 기사에서는 Go 언어의 관점에서 루프와 재귀를 비교합니다. 프로그램을 작성할 때 일련의 데이터나 작업을 반복적으로 처리해야 하는 상황에 자주 직면하게 됩니다. 이를 달성하려면 루프나 재귀를 사용해야 합니다. 루프와 재귀는 모두 일반적으로 사용되는 처리 방법이지만 실제 응용에서는 각각 장단점이 있으므로 어떤 방법을 사용할지 선택할 때 실제 상황을 고려해야 합니다. 이 기사에서는 Go 언어의 루프와 재귀에 대한 비교 연구를 수행합니다. 1. 루프 루프는 특정 코드 부분을 반복적으로 실행하는 메커니즘입니다. Go 언어에는 세 가지 주요 유형이 있습니다.

이 기사에서는 PHP가 배열의 모든 값을 반환하여 배열을 형성하는 방법을 자세히 설명합니다. 편집자는 이것이 매우 실용적이라고 생각하므로 이 기사를 읽고 뭔가를 얻을 수 있기를 바랍니다. . array_values() 함수 사용하기 array_values() 함수는 배열에 있는 모든 값의 배열을 반환합니다. 원래 배열의 키는 유지되지 않습니다. $array=["foo"=>"bar","baz"=>"qux"];$values=array_values($array);//$values는 ["bar","qux"]를 사용하여 루프는 루프를 사용하여 배열의 모든 값을 수동으로 가져오고 새 값에 추가할 수 있습니다.

Iterator 인터페이스 Iterator 인터페이스는 컬렉션을 순회하는 데 사용되는 인터페이스입니다. hasNext(), next() 및 Remove()를 포함한 여러 메소드를 제공합니다. hasNext() 메서드는 컬렉션에 다음 요소가 있는지 여부를 나타내는 부울 값을 반환합니다. next() 메서드는 컬렉션의 다음 요소를 반환하고 컬렉션에서 제거합니다. Remove() 메서드는 컬렉션에서 현재 요소를 제거합니다. 다음 코드 예제에서는 Iterator 인터페이스를 사용하여 컬렉션을 반복하는 방법을 보여줍니다. Listnames=Arrays.asList("John","Mary","Bob");Iterator

Java 함수의 재귀 호출을 반복으로 대체 Java에서 재귀는 다양한 문제를 해결하는 데 사용되는 강력한 도구입니다. 그러나 어떤 경우에는 반복을 사용하는 것이 더 효율적이고 스택 오버플로가 발생할 가능성이 적기 때문에 더 나은 옵션일 수 있습니다. 반복의 장점은 다음과 같습니다. 각 재귀 호출에 대해 새 스택 프레임을 생성할 필요가 없으므로 더 효율적입니다. 스택 공간 사용량이 제한되어 있기 때문에 스택 오버플로가 발생할 가능성이 적습니다. 재귀 호출의 대안인 반복 메소드: Java에는 재귀 함수를 반복 함수로 변환하는 여러 메소드가 있습니다. 1. 스택 사용 스택을 사용하는 것은 재귀 함수를 반복 함수로 변환하는 가장 쉬운 방법입니다. 스택은 함수 호출 스택과 유사한 LIFO(후입선출) 데이터 구조입니다. 공공 인파

모든 프로그래밍 언어는 루프와 분리될 수 없습니다. 따라서 기본적으로 반복 작업이 있을 때마다 루프 실행을 시작합니다. 그러나 많은 수의 반복(수백만/수십억 행)을 처리할 때 루프를 사용하는 것은 범죄입니다. 몇 시간 동안 정체되어 있다가 나중에 그것이 작동하지 않는다는 것을 깨닫게 될 수도 있습니다. Python에서 벡터화를 구현하는 것이 매우 중요합니다. 벡터화란 무엇입니까? 벡터화는 데이터 세트에 대한 (NumPy) 배열 작업을 구현하는 기술입니다. 뒤에서는 한 번에 한 행씩 작업하는 "for" 루프와는 달리 배열이나 계열의 모든 요소에 작업을 한 번에 적용합니다. 다음으로 몇 가지 사용 사례를 사용하여 벡터화가 무엇인지 보여줍니다. 숫자의 합을 구하세요##루프를 사용하세요 importtimestart

PHP 루프 중첩 오류를 처리하고 해당 오류 메시지를 생성하는 방법 개발 중에 배열 탐색 및 데이터베이스 쿼리 결과 처리와 같은 반복 작업을 처리하기 위해 루프 문을 사용하는 경우가 많습니다. 그러나 루프 중첩을 사용할 때 무한 루프 또는 너무 많은 중첩 수준과 같은 오류가 발생할 수 있습니다. 이 문제로 인해 서버 성능이 저하되거나 심지어 충돌할 수도 있습니다. 이러한 오류를 더 잘 처리하고 해당 오류 메시지를 생성하기 위해 이 문서에서는 몇 가지 일반적인 처리 방법을 소개하고 해당 코드 예제를 제공합니다. 1. 카운터를 사용하여
