21 תשובות
א. קוד בפייתון לא "מתקמפל", זה עובד בצורה קצת שונה
ב. כשאת מנסה "לקמפל", את אמורה לקבל הודעה שגיאה, מהי ההודעה?
כנראה שגיאת סינטקס או משהו
שואל השאלה:
זה מצביע לי על שורה 16.. משהו בהזחה אבל אני לא מבינה למה
אנונימית
שואל השאלה:
או שלא בהזחה..
syntaxerror: invalid syntax
אנונימית
שואל השאלה:
taberror: inconsistent use of tabs and spaces in indentation
אנונימית
בפיתון יש חשיבות ל"תווים לבנים". אלה תווי רווח וטאבים שאת לא תמיד רואה. אם את עושה "סמטוחה" מאלה, פיתון יתלונן על "unexpected indent" או על משהו בסגנון.

לכן את צריכה להשתמש בעורך טקסט שמראה לך תווים לבנים. תיכף אצרף קישור לכזה עורך.
עורך טקסט לדוגמה הוא ++notepad. הוא חינמי:

https://notepad-plus-plus.org

הנה צילום מסך שמראה איך אומרים לו להראות רווחים וטאבים:

https://superuser.com/questions/409919/cr-and-lf-characters-shown-at-the-end-of-each-line-in-notepad

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

בקיצור, אחרי שאת רואה בעיניים את התווים האלה, סמני אותם, מחקי אותם והקלידי אותם מחדש. בסופי שורות (ובשורות שאמורות להיות ריקות) לא צריכים כלל להיות תווים לבנים.
אוקיי, יש לך 2 בעיות.
1. בפונקציה is_valid_input הגדרת שהפרמטר שהפונקציה מקבלת הוא letter_guessed, אבל בתוך הפונקציה עצמה את משתמשת ב letter_guess.

2. תחליפי את ה input ב raw_input.
הבעיה ב input היא שהוא מנסה לעשות פעולה נוספת של "הערכה" של המחרוזת שאת מכניסה בתור משתנה רגיל ולא בתור מחרוזת, וזה גורם לתכנה לקרוס.
אם הקלט שאת מכניסה נמצא במירכאות זה אמור לעבוד גם עבור input, אבל אם את רוצה שזה יעבור גם עבור קלט בלי מירכאות - תשתמשי ב raw_input.
קצת מוזר אבל זה עובד חח

מקווה שברור :^)
faust:

יכול להיות שהיא משתמשת בפייתון גרסה 3 (לא גרסה 2), שם input מתנהג כמו raw_input (ואין raw_input).
שואל השאלה:
אני משתמשת ב3.. ולגבי התיקון השני - אני לא רואה מה הבעיה בזה, אני פושט שולחת משתנה אחר..
אנונימית

הרצתי את זה בעצמי על פייתון 2.7, ואחרי שתיקנתי את מה שציינתי קודם זה עבד, ככה שזאת באמת הייתה הבעיה.
לשואלת השאלה: אם את כבר רגילה לעורך הטקסט שלך יתכן שלא תצטרכי להחליפו: אמרי לנו מהו כדי שנבדוק אם הוא מסוגל להציג תווים לבנים.
שואל השאלה:
אני בנוטפאד פלוס פלוס
אנונימית
הבעיה היא שהפרמטר שהפונקציה מקבלת (בתוך הפונקציה) נקרא letter_guessed, אבל המשתנה שבו את משתמשת בתוך הפונקציה הוא letter_guess, שלא קיים בפריים של הפונקציה.
שואל השאלה:
זה עדיין לא עובד אני לא מבינה למה..: (
https://repl.it/repls/villainousdarkgreenbloatware
אנונימית
תנסי עכשיו, שיחקתי קצת עם ההזחות
לשואלת השאלה:

תלכי לשורה 16. תמחקי את *כל* התווים הלבנים שבתחילתה. ואז תקלידי 4 רווחים.

כשתעשי זאת תצליחי להריץ את התוכנית (אם כי באמת התבלבלת בשם המשתנה בפונקציה).

אם תבקשי מעורך הטקסט שלך (++notepad) להציג את התווים הלבנים תביני למה פייתון התלונן.
faust:

אין טעם שתעשה זאת עבורה. אם היא לא תבין את העקרון, היא תתקל באותה בעיה בעוד 10 דקות. כל מה שצריך זה שהיא תפעיל את האפשרות המתאימה בעורך הטקסט שלה.
שואל השאלה:
איך מציגים את התווים הלבנים?
אנונימית
"איך מציגים את התווים הלבנים?"

ראשית, הנה צילום מסך שמראה לך איך עורך הטקסט שלי מציג את הקוד שלך:

http://www.up2me.co.il/v.php?file=26747518.jpg

שימי לב לחיצים הכחולים שמראים תווי טאב. את רואה ששורה מספר 16 מוזחת באופן שונה לגמרי מאשר שורה 15. לכן פייתון חוטף עליך את הג'ננה. (אגב, שימי לב שבשורות 18 ו-5 יש לך רווח עודף בסוף השורה. זה לא מזיק, אבל עדיף להימנע מזה)

עכשיו, לגבי ++notepad שאת משתמשת בו: צילום המסך בדף הבא מראה איך לאפשר את הצגת התווים הלבנים (סמני את כל האפשרויות בתפריט שרואים שם, לא רק את show end of line):

https://superuser.com/questions/409919/cr-and-lf-characters-shown-at-the-end-of-each-line-in-notepad




התקנתי ++notepad במחשב שלי ואני רואה שאת רק צריכה ללחוץ על האייקון שהקפתי בצילום הבא, בעיגול אדום, כדי להציג תווים לבנים:

http://www.up2me.co.il/v.php?file=8526743.jpg

(ציירתי חיצים אדומים איפה שהבעיה. החצים האופקיים הכתומים שנוטפאד מראה הם תווי "טאב". לא טוב לערבב טאבים ורווחים רגילים באותו קובץ. יש מוסכמות שונות במערכות שונות לגבי כמה רווחים שווה "טאב". בעורך הטקסט שלי שהראיתי לך קודם טאב שווה 8 רווחים, לא 4. לכן כל הבלאגן)
אוקיי, ביררתי בשבילך איך אפשר לפתור את כל הבעיות, ב-notepad++, אחת ולתמיד.

דבר ראשון:

את צריכה להנחות את נוטפאד לא להכניס תווי "טאב" לטקסט. את עושה זאת דרך התפריט: settings > preferences > language ומסמנת את replace by space. הנה צילום מסך:


http://www.up2me.co.il/v.php?file=27145379.jpg

דבר שני:

יש לך קבצים קיימים, שבהם כבר יש ערבוב של טאבים ורווחים. זה מג'נן את פייתון. כדי לתקן אותם את אומרת לנוטפאד להמיר את כל הטאבים ברווחים (ואח"כ שומרת את הקובץ). את עושה זאת דרך התפריט: edit > black operations > tab to space. הנה צילום מסך:

http://www.up2me.co.il/v.php?file=90325731.jpg

זהו.