שאלה | שאלה בפקודה בפייתון
-
@שמעון-pc כתב בשאלה | שאלה בפקודה בפייתון:
אני לומד פייתון וניסיתי לעשות התנייה של רשימה בקוד הזה
m = [5] if m is [5] : print('j') elif m is 'k' : print('h') else : print('f')
והתוצאה שאני מקבל זה f למרות שהמשתנה דומה להשוואה הראשונה מה שאמור להביא לי j
איני בקי בפייתון.
אבל הבעיה בקוד שלך היא לכאורה ההשוואה בין M לערך.
האם זה צריך להיות בסוגריים או בלי?if m is [5] : elif m is 'k' :
-
@שמעון-pc גם התוצאה של השוואה ישירה:
[5] is [5]
תהיה
False
, וזאת משום שis
בודק את המיקום בזיכרון ולא מיועד סתם להשוואה האם הערך של שני משתנים זהה.
אתה יכול ללמוד עוד על ההבדלים בסרטון: https://www.youtube.com/watch?v=0_dQpUtcubM
ספר לימוד מומלץ לפייתון: https://data.cyber.org.il/python/python_book.pdf
-
@משחזר-מידע לא הבנתי
תוכל לפרט יותר? -
@שמעון-pc כתב בשאלה | שאלה בפקודה בפייתון:
תוכל לפרט יותר?
אולי תפרט אתה יותר
מה זה הm?
מדובר במערך (array)?@שמעון-pc כתב בשאלה | שאלה בפקודה בפייתון:
אני עשיתי כמו שראיתי במדריך
ואו שתעלה את המדריך המדובר
-
@משחזר-מידע הוא דוקא כתב - מדובר ברשימה (list)
-
@NH-LOCAL כתב בשאלה | שאלה בפקודה בפייתון:
הוא דוקא כתב - מדובר ברשימה (list)
אז איך
m = [5]
ככה מייצרים list?
-
@משחזר-מידע הm זה סתם אות שבחרתי למשתנה מסוג list
-
@משחזר-מידע כן זה משתנה list וככה אפשר ליצור אותו
-
@משחזר-מידע הוא פשוט יצר רשימה עם אייטם אחד בלבד. קצת לא שימושי אולי, אבל אפשרי...
באותה מידה היה ניתן לעשות:
[1, 3, 5]
-
-
@משחזר-מידע לא הייתה לי סיבה מיוחדת לקוד סתם ניסיתי פקודה והופתעתי כשהתוצאה הייתה שונה משציפיתי
-
@שמעון-pc כתב בשאלה | שאלה בפקודה בפייתון:
סתם ניסיתי פקודה והופתעתי
כי מדובר בבעיה תחבירית
אין מה להיות מופתע כשיורים באפלה
ראה פקודות תחבירית נכונות לעיל