Hpy

From Python
Jump to: navigation, search

חבילה המאפשרת להריץ תסריטי פייתון בעברית.

Contents

ענף ראשי

מפתחים

מי שרוצה להשתתף בפיתוח, נא להשתמש בגרסה האחרונה שאותה אפשר להוריד בעזרת bazaar 0.9:

נא לפרסם כאן את הענפים הפרטיים שלכם על מנת שאפשר יהיה למזג אותם לתוך הענף הראשי.

בני

http://cben-hacks.sf.net/hpy.tar.gz

(ה־tar.gz מכיל גם ספריה של .bzr למקרה ש־bzr לא יעבוד טוב מול האתר)

קובי

עמית

תוכניות לדוגמא

שלום עולם:

הדפס "שלום עולם!"

עצרת:

הגדר עצרת(מספר):
    אם מספר == 0:
        החזר 1
    החזר מספר * עצרת(מספר - 1)

סדרת פיבונאצ'י

א, ב = 0, 1
כלעוד ב < 1000:
    הדפס ב,
    א, ב = ב, א + ב

שילוב עם קוד קיים:

import os
לכל קובץ בתוך os.listdir(os.getcwd()):
    הדפס קובץ

99 בקבוקים של בירה

לכל כמות בתוך range(99, 0, -1):
    אם כמות > 1:
        הדפס כמות, "בקבוקי בירה על הקיר,", כמות, "בקבוקים של בירה."
        אם כמות > 2:
            סיומת = str(כמות - 1) + " בקבוקי בירה על הקיר."
        אחרת:
            סיומת = "בקבוק בירה אחד על הקיר."
    אחרתאם כמות == 1:
        הדפס "בקבוק אחד של בירה על הקיר, בקבוק אחד של בירה."
        סיומת = "אין יותר בקבוקי בירה על הקיר!"
    הדפס "קח אחד, תעביר אותו הלאה,", סיומת
    הדפס "--"

איך מתבצע התרגום

מתאפשר ע"י קידוד, בשילוב עם מילון ו\או עטיפה (עדיין לא ברור מה השילוב המנצח).

קידוד

לא משנה מה נעשה עם שמות מוכרים, המשתמש תמיד יכול להשתמש בשמות לא מוכרים בעברית (לשמות משתנים, פוקציות ומודולים שלו). זה ממומש ע"י תרגום שמות לא מוכרים לאנגלית כגון ע"י ייצוג hex של utf-8 בתוספת "hpy_" בהתחלה. למשל "אבג" הופך ל־hpy_d790d791d792.

מילון

יש מילון מרכזי. כל מילה עברית שמופיעה בו מוחלפת בתרגום האנגלי שלה.

ברור שמשתמשים במילון עבור מילות המפתח. אפשר להשתמש בזה גם לתרגום שמות מודולים ושמות בתוכם.

עטיפה

נגיד שהמשתמש רוצה לבצע "יבא צב; צב.קדימה(10)". אפשר לא לתרגם את המילים "צב" ו"קדימה" במילון המרכזי אלא לאפשר להן לעבור קידוד: מה שבאמת יתבצע יהיה "import hpy_d7a6d791; hpy_d7a6d791.hpy_d7a7d793d799d79ed794(10)".

כדי שזה יעבוד פשוט יוצרים מודול ששמו hpy_d7a6d791.py (צב) שכתוב בו:

from turtle import *
hpy_d7a7d793d799d79ed794 = forward

וכן הלאה...

פרויקטים קשורים

מאמא

תוכנה מסחרית לחלונות. דומה להפליא במטרות ובדקדוק. מאושרת על ידי משרד החינוך. אפשר ללמוד ממנה הרבה על מה שצריך להיות במערכת כזאת.

ניתוח [בני]: זה לא סתם דומה, זה לחלוטין פייתון! ההבדלים היחידים שמצאתי: אין : בסוף שורה, השמה ע"י :=, () לרשימות ו- [] למילונים, ואופרטורים על רשימות מתנהגים שונה (חיבור\כפל לפי איברים במקום שרשור\חזרה). וזהו! חבל שהוא לא מציין את פייתון בתור מקור ההשראה שלו. לא נורא, משמח מאוד שזה אושר ע"י משרד החינוך! נקודות חיוביות שכדאי ללמוד מהן:

  • שגיאות מלוות בהמלצות איך לתקן את הבעיה
  • הרבה דרכים לאיית אותו דבר (זכר\נקבה, כתיב חסר\מלא)
  • גישה נוחה ל-pickle

לוגו

קארל הרובוט

Guido van Robot

שפת תכנות פשוטה ביותר מבוססת על פייתון, המאפשרת לשלוט ברובוט בתוך עולם. יש מערכת שיעורים מצויינת שאפשר לתרגם.

  • דוגמא טובה לפתרון פשוט שיכול לשמש לילדים צעירים.
  • מצד שני, העובדה שזה לא פייתון אלא שפה מוגבלת היא חסרון משמעותי בעיני רבים.

RUR-PLE

http://rur-ple.sourceforge.net/en/help.htm

פרוייקט דומה ל־GvR אבל מלמד פייתון ממש ולא איזה שפה מוגבלת.

נ.ב. Rossum's Universal Robots זה השם של המחזה המקורי של קרל צ'פק בו הוא המציא את המילה רובוט. צירוף מקרים משעשע ביותר (ולא ברור למה מפתחי PyKarel ו־GvR לא עלו עליו)!

KPL

לא ממש רלוונטי: השפה די גרועה (דומה ל־VB), והשפה עצמה לא תורגמה (רק הסביבה).

Squeak

מערכת smalltalk חופשית עם סביבת מולטימדיה עשירה. נדמה לי שאין שום תמיכה בעברית כרגע. אפשר ללמוד ממנה הרבה.

Personal tools