2015-01-25 13 views
6

Pracuję nad biblioteką hebrajskiego pytona dla mojego malucha, który jeszcze nie mówi po angielsku. Do tej pory udało mi się go uruchomić (nazwy funkcji i zmienne działają poprawnie). Problem dotyczy instrukcji "if", "while", "for" itp. gdyby to było C++, dla ex., użyjęPython #define equivalent

#define if אם 

istnieją jakieś alternatywy dla #define w Pythonie?

**** EDYTUJ ***** Na razie działa dla mnie szybkie i brudne rozwiązanie; zamiast uruchomiony program ten kod:

def RunReady(Path): 
    source = open(Path, 'rb') 
    program = source.read().decode() 
    output = open('curr.py', 'wb') 

    program = program.replace('כל_עוד', 'while') 
    program = program.replace('עבור', 'for') 
    program = program.replace('אם', 'if') 
    program = program.replace(' ב ', ' in ') 
    program = program.replace('הגדר', 'def') 
    program = program.replace('אחרת', 'else') 
    program = program.replace('או', 'or') 
    program = program.replace('וגם', 'and') 
    output.write(program.encode('utf-8')) 
    output.close() 
    source.close() 
    import curr 

current_file = 'Sapir_1.py' 
RunReady(current_file) 
+0

sprawdź https://github.com/lihaoyi/macropy – XrXrXr

+3

Nie, nie możesz zmienić nazwy składni Pythona; język po prostu tego nie popiera. Będziesz musiał napisać własny parser, aby przekształcić składnię hebrajską w składnię Pythona. –

+0

uczysz Pythona malucha? – Scironic

Odpowiedz

6

Python 3 posiada 33 słów kluczowych, z których tylko niektóre są używane przez początkujących:

['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] 

Biorąc pod uwagę, że Python nie obsługuje zmiany nazwy słowo to chyba łatwiej nauczać kilka z tych słów kluczowych wraz z programowaniem nauczania.

1

Co powiesz na dodanie czegoś #define, a następnie uruchom preprocesor c (ale nie kompilator), który da ci źródło Pythona.