i do understand it now. I meant i didn't get it in the beginning.
You don't "get" anything in the beginning. That's why most things come with an instruction manual or someone you can talk to who can tell you how to use it. If you had never seen a light switch before, would you innately know that flipping it would turn on a nearby light bulb? No, you'd carefully examine it and then eventually attempt to flip it, and then flip it back, until you fully understand what it does.
Even the simplest Python syntax "for i in range(1, 10)" is misleading in that the loop excludes 10, and you wouldn't know that if you hadn't been exposed to the widespread convention that ranges are generally given excluding the end. You also aren't aware of the optional step parameter until you see it used or are told about it, and you have no clue that "range" is actually just a generator and that the "for" statement can work with any such generator. If you came from Pascal instead ("for i := 1 to 10 do") then you could conceivably imagine the Python syntax to include 10. The C-like syntax makes deducing that easier since the termination condition is clearly given... that is, unless you don't know what each part of the for statement stands for, in which case it is obscure (or downright incomprehensible).
What's the difference between a while..do and a do..while (or a repeat..while) loop? One runs at least once. Would you be able to deduce that from the syntax alone? Likely not, even though the condition appears first in one case, the two ("while something is true do something" and "do something while something is true") are semantically equivalent in everyday usage, and a newbie would have a hard time working out the difference without being told about it, or by trying it out for himself. And even trying it out for the first time and understanding the output one gets from some test program is a difficult exercise in hypotheticodeductive reasoning for many people (none of them particularly stupid).
The point I'm making is that nothing is really self-evident unless you've been exposed to it (a process called learning) or something similar (called past experience). In other words, what is "simpler" to you is awkward or unintuitive to some other people, and vice versa. So programming languages just use whatever seems more powerful/expressive/readable and expect people to read the manual to get familiar with those constructs. In this case, the for statement is much more powerful than just iterating a range of numbers, and can be used to great effect, so replacing it with a "for x from 1 to 10" kind of statement would actually make it less useful.
I will agree that the Python syntax is much better (from my perspective) in that it doesn't obfuscate the sequence being iterated by splitting it across three different statements, but instead makes it into an explicit generator - though that has its downsides as well - but saying that "I didn't get it in the beginning" makes the syntax bad is rather narrow-minded in my opinion.