diff --git a/generators/python/loops.js b/generators/python/loops.js index c4e402f05..792d887b6 100644 --- a/generators/python/loops.js +++ b/generators/python/loops.js @@ -156,13 +156,14 @@ Blockly.Python['controls_for'] = function(block) { if (typeof startVar == 'number' && typeof endVar == 'number') { if (startVar < endVar) { - range = defineUpRange(startVar, endVar, increment); + range = defineUpRange(); } else { - range = defineDownRange(startVar, endVar, increment); + range = defineDownRange(); } + range += '(' + startVar + ', ' + endVar + ', ' + incVar + ')'; } else { // We cannot determine direction statically. - range = generateUpDownRange(startVar, endVar, increment); + range = generateUpDownRange(startVar, endVar, incVar); } } code += 'for ' + variable0 + ' in ' + range + ':\n' + branch; diff --git a/tests/generators/golden/generated.py b/tests/generators/golden/generated.py index 8120ae899..7ec405a17 100644 --- a/tests/generators/golden/generated.py +++ b/tests/generators/golden/generated.py @@ -226,7 +226,7 @@ def test_count_by(): x_start = float(1 + 0) x_end = float(8 + 0) x_inc = float(1 - 2) - for x in (x_start <= x_end) and upRange(x_start, x_end, 1 - 2) or downRange(x_start, x_end, 1 - 2): + for x in (x_start <= x_end) and upRange(x_start, x_end, x_inc) or downRange(x_start, x_end, x_inc): loglist.append(x) assertEquals(loglist, [1, 2, 3, 4, 5, 6, 7, 8], 'count up non-trivial ints') loglist = [] @@ -239,7 +239,7 @@ def test_count_by(): x_start3 = float(5 + 0.5) x_end3 = float(1 + 0) x_inc2 = float(1 + 0) - for x in (x_start3 <= x_end3) and upRange(x_start3, x_end3, 1 + 0) or downRange(x_start3, x_end3, 1 + 0): + for x in (x_start3 <= x_end3) and upRange(x_start3, x_end3, x_inc2) or downRange(x_start3, x_end3, x_inc2): loglist.append(x) assertEquals(loglist, [5.5, 4.5, 3.5, 2.5, 1.5], 'count with floats') diff --git a/tests/generators/variables.xml b/tests/generators/variables.xml index 9d5303294..a95ec8932 100644 --- a/tests/generators/variables.xml +++ b/tests/generators/variables.xml @@ -63,6 +63,6 @@ naked - Intentionally non-connected variable. + Intentionally non-connected variable.