בעיה בפייטון

avivfl

New member
בעיה בפייטון

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

1. תדפיס את d מיד אחרי שאתה ממיר אותו ל int. לפחות ככה תדע איך להמשיך.
2. תמיר את התנאים שלך ל if..elif..elif..else ואם אכן הגעת ל else האחרון אז תדפיס הודעת שגיאה או תרים שגיאה בעצמך (raise)
 

BravoMan

Active member
לא, ממש לא אותו הדבר!

שים לב שהודעת השגיאה היא עדיין על קובץ בשם aviv בעוד שהקובץ עם השינויים נקרא "aviv script".
נראה שאתה מריץ את הקובץ הישן, ולא את זה עם התיקון.

כמה עצות בנושא:
1. הימנע מרווח בשמות קבצים.
2. תן שמות משמעותיים לקבצים.
3. תן סיומת py לקבצים.
4. תוסיף shabang לקבצים

#!/usr/bin/python


בתור התחלה, הייתי ממליץ לעבוד עם עורך טקסט פשוט, כמו Gedit שבא עם Ubuntu ולהריץ ידנית במסוף.
זה יחסוך לך את הצורך ללמוד IDE מורכב, וימנע בלבולים מהסוג שראינו כאן.

זה גם תרגול טוב להכיר את "הנפשות הפועלות".

בהצלחה!
 

mazory

New member
שים לב לזה ש..

D מקבל תו (כלומר הוא מסוג סטרינג) ואילו אתה משווה אותו למספרים (1,2,3) והוא אף אחד מאילו.

ממליץ לך ללמוד לדבג את התוכניות שלך ע"י הוספת הדפסות למסך או ע"י שימוש בדיבאגר, כפי שציין רון קליין.
 

avivfl

New member
היי

רשמתי בצורת else if
עשיתי דיבאג אבל אני לא ממש מבין מה הולך שם
 

avivfl

New member
תמונה 2

לגבי זה שאני שם ב D אינטג'ר אין שום בעיה לדעתי כי הכרזתי עליו בהתחלה בתור int
 

mazory

New member
נסה להבין מה רשמנו לך קודם

קודם כל הצלחת להפעיל את הדיבגר - יפה מאוד.

בחלון VARIABLES מופיע המשתנה D מטיפוס STR (מחרוזת).
בנוסף אתה רואה את הערך שלו, שהוא התו '2' (שמוחזר מהפונקציה RAW_INPUT).

ולכן :

d = '2' != 2
 
למעלה