var datasets = [
{arg: "print('a')", out: true},
{arg: " print('a')", out: false},
{arg: `for i in range(10):
print(i)`, out: true},
{arg: `def:
for:
print
if:
return
`, out: true},
{arg: `def:
if:
return`, out: false},
]
var names = ['text'];
var remapPreview = (text) => `text = """${text}"""
main(text)
`
Odsazování v Pythonu je docela ošemetná záležitost. Pro naše účely budeme vyžadovat upravená a zjednodušená pravidla.
Program dostává jeden dlouhý řetězec, který obsahuje něco jako kód v Pythonu. Vaším úkolem je zkontrolovat, že počet mezer na začátku každého řádku dává smysl. To znamená:
Výstupem programu je pravdivostní hodnota, jestli odsazení je v pořádku.
def main(text):
for line in text.split("\n"):
if line.startswith(" "):
return False
return True
Rada: počítat mezery jde různými způsoby. Může se k tomu hodit třeba funkce str.lstrip.