בעיה | המשתנה האוטומטי קו תחתון
-
@פלדה אם הבנתי אותך נכון, אתה מתכון לקו תחתון כשמשתמשים בפייתון מתוך שורת הפקודה, זה משהו לא כל כך שימושי ולכן לא עובדים עם זה, בכל אופן הפירוש של קו תחתון זה "קח את התוצאה של השורה הקודמת ותעשה עליה את הפעולה שעכשיו אני עושה". זאת אומרת אם כתבתי 4 + 5 והתוצאה הייתה 9, אני יכול לכתוב כך: _ + 1 והתוצאה תהיה 10.
הנה:
בנוגע לפונקציה input אתה צריך לשמור את קלט המשתמש במשתנה כדי לבצע עליו פעולות כמו השוואה וכדומה, בדוגמא שהעלית לעיל ניסית לבדוק אם יש שוויון בין הפונקציה עצמה לבין המחרוזת, מה שודאי לא נכון....
משתמשים בזה כך:name = input('כתוב כאן את שמך') if name == 'משה': print('שלום, משה')
הפונקציה input תעצור את ריצת התוכנית עד שהמשתמש יסיים להכניס את הקלט וילחץ אנטר.
-
@מאן-דאמר-5
לא עבד לי... שוב, אם אני רוצה להתנות את המשך הדפסת הטקסט בכך שיענה לשאלה 'שלום! מה שמך?'
איך אני עושה את זה? -
@פלדה לא מספיק הבנתי, אתה רוצה לבדוק איזה קלט המשתמש הכניס, או לא?
אתה יכול להגדיר שידפיס את הקלט בכל מקרה, לא משנה איזה ג'יבריש המשתמש הכניס שם.@פלדה כתב בבעיה | המשתנה האוטומטי קו תחתון:
אם אני רוצה להתנות את המשך הדפסת הטקסט בכך שיענה לשאלה
כאמור לעיל, בכל מקרה התוכנית תעצור עד שהמשתמש ילחץ על אנטר.
אבל זה יעבוד רק אם תקרא לפונקציה input לא אם תעשה עליה פעולות השוואה כמו שעשית לעיל וכדו'.
-
@פלדה אתה מגדיר ככה:
name_user = input("שלום! מה שמך?")
כרגע מה שהמשתמש יזין נשמר במשתנה "name_user"
אם נרצה להשתמש בו פשוט נקרא למשתנה והוא מיד יצביע על הערך שלו כלומר שם המשתמש
לדוגמא:print(name_user)
והתוצאה תהיה (בהנחה ששם המשתמש שמילא הלקוח הוא יונתן...)
יונתן
-
@מאן-דאמר-5 כתב בבעיה | המשתנה האוטומטי קו תחתון:
כאמור לעיל, בכל מקרה התוכנית תעצור עד שהמשתמש ילחץ על אנטר.
אבל זה יעבוד רק אם תקרא לפונקציה input לא אם תעשה עליה פעולות השוואה כמו שעשית לעיל וכדו'.
זה לא נכון. זה בהחלט עובד. הטעות שלו היא שעליו לסגור את שרשור הפקודות ורק אחר כך להכניס את הקלט.
-
@NH-LOCAL כתב בבעיה | המשתנה האוטומטי קו תחתון:
זה לא נכון. זה בהחלט עובד. הטעות שלו היא שעליו לסגור את שרשור הפקודות ורק אחר כך להכניס את הקלט.
אתה צודק. אם יש () אחרי הפונקציה הוא קורא לה גם בתוך תנאי.
@פלדה כתב בבעיה | המשתנה האוטומטי קו תחתון:
רק הרצתי את הקוד וזו התוצאה:
אתה לא יכול להכניס הכל בשורה אחת עם פסיקים באמצע...
בקיצור עיין היטב בקוד הבא:
name = input('הקלד כעת את שמך') print('שלום' + name)
זה לא בדיוק הצורה הנכונה, כי אם המשתמש מכניס מספר זה יחזיר שגיאה ויש דרכים יותר טובות לכתוב, אבל בינתיים זה מספיק.
-
@מאן-דאמר-5
יש לי מטלה
לא מספיק הבנתי את המטלה, אשמח לעזרה.
(לא מה קטע הקוד שצריך לכתוב, אלא מה המטלה.. אני מגדיר מספר אבנים שכל אחד אסף?
ואז צריך לתת קטע קוד שידפיס את מספר האבנים הכולל, את מספר אבנים שכל אחד יקבל ואת השארית?)