Just for fun: we already have syntax for that! It’s spelled for[]in[[]]*. No int objects produced, and no dummy variable names needed. Example usage:
>>> for[]in[[]]* 5: print("Hello")
...
Hello
Hello
Hello
Hello
Hello
The variant syntax for()in((),)* is one character longer, but likely more efficient (especially for a constant number of repetitions):
>>> dis.dis("for()in((),)* 3: print('Hello')")
0 0 RESUME 0
1 2 LOAD_CONST 0 (((), (), ()))
4 GET_ITER
>> 6 FOR_ITER 11 (to 32)
10 UNPACK_SEQUENCE 0
14 PUSH_NULL
16 LOAD_NAME 0 (print)
18 LOAD_CONST 1 ('Hello')
20 CALL 1
28 POP_TOP
30 JUMP_BACKWARD 13 (to 6)
>> 32 END_FOR
34 RETURN_CONST 2 (None)
I’ll freely admit it’s not the most readable syntax …