Yes but as ai said theres no difference for the computer you can do exactly the same things with both.
its rather just a reading aid! if you see while you know it can terminate halfway, if you see for you assume it runs trough. It does not have to but its a computing convention to help you read other peoples code. As a matter of fact you only ever need one loop type.
But it makes reading and writing of code easier.
fo having a code
CODE
for(yadayada){
yadayada
if condition
break;
}
is considered bad form because you used a for loop wich is assumed to be the iteration set (dont confuse code reader on purpose, your just digging yourself a grave) whereas
CODE
while(something){
yadayada
if condition
something=False;
}
and
CODE
do{
yadayada
if condition
something=False;
} while(something)
are expressibly assumed to decide termination for themselves like is:
CODE
while(true){
yadayada
if condition
break;
}
no other difference, they are just reading aids. Its a way for people to be able to more effectively read your code, no biggie in scripting but can be in a big coding effort.
Dont abuse it. While it does not affect the running of your code it helps you maintain it. you dont need many kinds of loops 1 is enough. But its usefull.