rai...@gmail.com: > Can someone tell me why next code doesn't work? > > import locale; locale.setlocale(locale.LC_ALL, ""); for i in > range(1,20,4): print(locale.format("%2f", i, 1)) > > It gives an error: SyntaxError: invalid syntax --> indicating 'for' > > However I need to put the code on one single line. > When I separate them like below it works fine. > > import locale > locale.setlocale(locale.LC_ALL, "") > for i in range(1,20,4): > print(locale.format("%2f", i, 1))
The answer is in Python's syntax definition. Not everything is allowed on a single line. See <URL: https://docs.python.org/3/reference/grammar.html> Only small_stmt's can be separated by semicolons. A for statement is a compound_stmt, which is not a small_stmt. Marko -- https://mail.python.org/mailman/listinfo/python-list