בעיה | המשתנה האוטומטי קו תחתון
-
@פלדה אם הבנתי אותך נכון, אתה מתכון לקו תחתון כשמשתמשים בפייתון מתוך שורת הפקודה, זה משהו לא כל כך שימושי ולכן לא עובדים עם זה, בכל אופן הפירוש של קו תחתון זה "קח את התוצאה של השורה הקודמת ותעשה עליה את הפעולה שעכשיו אני עושה". זאת אומרת אם כתבתי 4 + 5 והתוצאה הייתה 9, אני יכול לכתוב כך: _ + 1 והתוצאה תהיה 10.
הנה:
בנוגע לפונקציה input אתה צריך לשמור את קלט המשתמש במשתנה כדי לבצע עליו פעולות כמו השוואה וכדומה, בדוגמא שהעלית לעיל ניסית לבדוק אם יש שוויון בין הפונקציה עצמה לבין המחרוזת, מה שודאי לא נכון....
משתמשים בזה כך:name = input('כתוב כאן את שמך') if name == 'משה': print('שלום, משה')
הפונקציה input תעצור את ריצת התוכנית עד שהמשתמש יסיים להכניס את הקלט וילחץ אנטר.
-
@פלדה אם הבנתי אותך נכון, אתה מתכון לקו תחתון כשמשתמשים בפייתון מתוך שורת הפקודה, זה משהו לא כל כך שימושי ולכן לא עובדים עם זה, בכל אופן הפירוש של קו תחתון זה "קח את התוצאה של השורה הקודמת ותעשה עליה את הפעולה שעכשיו אני עושה". זאת אומרת אם כתבתי 4 + 5 והתוצאה הייתה 9, אני יכול לכתוב כך: _ + 1 והתוצאה תהיה 10.
הנה:
בנוגע לפונקציה input אתה צריך לשמור את קלט המשתמש במשתנה כדי לבצע עליו פעולות כמו השוואה וכדומה, בדוגמא שהעלית לעיל ניסית לבדוק אם יש שוויון בין הפונקציה עצמה לבין המחרוזת, מה שודאי לא נכון....
משתמשים בזה כך:name = input('כתוב כאן את שמך') if name == 'משה': print('שלום, משה')
הפונקציה input תעצור את ריצת התוכנית עד שהמשתמש יסיים להכניס את הקלט וילחץ אנטר.
@מאן-דאמר-5
לא עבד לי... שוב, אם אני רוצה להתנות את המשך הדפסת הטקסט בכך שיענה לשאלה 'שלום! מה שמך?'
איך אני עושה את זה? -
@מאן-דאמר-5
לא עבד לי... שוב, אם אני רוצה להתנות את המשך הדפסת הטקסט בכך שיענה לשאלה 'שלום! מה שמך?'
איך אני עושה את זה?@פלדה לא מספיק הבנתי, אתה רוצה לבדוק איזה קלט המשתמש הכניס, או לא?
אתה יכול להגדיר שידפיס את הקלט בכל מקרה, לא משנה איזה ג'יבריש המשתמש הכניס שם.@פלדה כתב בבעיה | המשתנה האוטומטי קו תחתון:
אם אני רוצה להתנות את המשך הדפסת הטקסט בכך שיענה לשאלה
כאמור לעיל, בכל מקרה התוכנית תעצור עד שהמשתמש ילחץ על אנטר.
אבל זה יעבוד רק אם תקרא לפונקציה input לא אם תעשה עליה פעולות השוואה כמו שעשית לעיל וכדו'.
-
@פלדה אל תשתמש בפייתון בטרמינל, תשמור בקובץ ותריץ אותו
או שתשתמש בסביבה אינטראקטיבית כמו ipython, jupyter (כדי להתקין את ipython:pip install ipython
)
המדריכים למתחילים אמורים להדריך אותך בהקמת סביבת העבודה@צדיק-תמים
איך אני מגדיר משתנה לקלט שהמשתמש נותן לinput?
בדוגמה הזאת - ל'יהונתן' -
@צדיק-תמים
איך אני מגדיר משתנה לקלט שהמשתמש נותן לinput?
בדוגמה הזאת - ל'יהונתן'@פלדה אתה מגדיר ככה:
name_user = input("שלום! מה שמך?")
כרגע מה שהמשתמש יזין נשמר במשתנה "name_user"
אם נרצה להשתמש בו פשוט נקרא למשתנה והוא מיד יצביע על הערך שלו כלומר שם המשתמש
לדוגמא:print(name_user)
והתוצאה תהיה (בהנחה ששם המשתמש שמילא הלקוח הוא יונתן...)
יונתן
-
@פלדה אתה מגדיר ככה:
name_user = input("שלום! מה שמך?")
כרגע מה שהמשתמש יזין נשמר במשתנה "name_user"
אם נרצה להשתמש בו פשוט נקרא למשתנה והוא מיד יצביע על הערך שלו כלומר שם המשתמש
לדוגמא:print(name_user)
והתוצאה תהיה (בהנחה ששם המשתמש שמילא הלקוח הוא יונתן...)
יונתן
-
@פלדה לא מספיק הבנתי, אתה רוצה לבדוק איזה קלט המשתמש הכניס, או לא?
אתה יכול להגדיר שידפיס את הקלט בכל מקרה, לא משנה איזה ג'יבריש המשתמש הכניס שם.@פלדה כתב בבעיה | המשתנה האוטומטי קו תחתון:
אם אני רוצה להתנות את המשך הדפסת הטקסט בכך שיענה לשאלה
כאמור לעיל, בכל מקרה התוכנית תעצור עד שהמשתמש ילחץ על אנטר.
אבל זה יעבוד רק אם תקרא לפונקציה input לא אם תעשה עליה פעולות השוואה כמו שעשית לעיל וכדו'.
@מאן-דאמר-5 כתב בבעיה | המשתנה האוטומטי קו תחתון:
כאמור לעיל, בכל מקרה התוכנית תעצור עד שהמשתמש ילחץ על אנטר.
אבל זה יעבוד רק אם תקרא לפונקציה input לא אם תעשה עליה פעולות השוואה כמו שעשית לעיל וכדו'.
זה לא נכון. זה בהחלט עובד. הטעות שלו היא שעליו לסגור את שרשור הפקודות ורק אחר כך להכניס את הקלט.
-
@מאן-דאמר-5 כתב בבעיה | המשתנה האוטומטי קו תחתון:
כאמור לעיל, בכל מקרה התוכנית תעצור עד שהמשתמש ילחץ על אנטר.
אבל זה יעבוד רק אם תקרא לפונקציה input לא אם תעשה עליה פעולות השוואה כמו שעשית לעיל וכדו'.
זה לא נכון. זה בהחלט עובד. הטעות שלו היא שעליו לסגור את שרשור הפקודות ורק אחר כך להכניס את הקלט.
@NH-LOCAL כתב בבעיה | המשתנה האוטומטי קו תחתון:
זה לא נכון. זה בהחלט עובד. הטעות שלו היא שעליו לסגור את שרשור הפקודות ורק אחר כך להכניס את הקלט.
אתה צודק. אם יש () אחרי הפונקציה הוא קורא לה גם בתוך תנאי.
@פלדה כתב בבעיה | המשתנה האוטומטי קו תחתון:
רק הרצתי את הקוד וזו התוצאה:
אתה לא יכול להכניס הכל בשורה אחת עם פסיקים באמצע...
בקיצור עיין היטב בקוד הבא:
name = input('הקלד כעת את שמך') print('שלום' + name)
זה לא בדיוק הצורה הנכונה, כי אם המשתמש מכניס מספר זה יחזיר שגיאה ויש דרכים יותר טובות לכתוב, אבל בינתיים זה מספיק.
-
@NH-LOCAL כתב בבעיה | המשתנה האוטומטי קו תחתון:
זה לא נכון. זה בהחלט עובד. הטעות שלו היא שעליו לסגור את שרשור הפקודות ורק אחר כך להכניס את הקלט.
אתה צודק. אם יש () אחרי הפונקציה הוא קורא לה גם בתוך תנאי.
@פלדה כתב בבעיה | המשתנה האוטומטי קו תחתון:
רק הרצתי את הקוד וזו התוצאה:
אתה לא יכול להכניס הכל בשורה אחת עם פסיקים באמצע...
בקיצור עיין היטב בקוד הבא:
name = input('הקלד כעת את שמך') print('שלום' + name)
זה לא בדיוק הצורה הנכונה, כי אם המשתמש מכניס מספר זה יחזיר שגיאה ויש דרכים יותר טובות לכתוב, אבל בינתיים זה מספיק.
@מאן-דאמר-5
יש לי מטלה
לא מספיק הבנתי את המטלה, אשמח לעזרה.
(לא מה קטע הקוד שצריך לכתוב, אלא מה המטלה.. אני מגדיר מספר אבנים שכל אחד אסף?
ואז צריך לתת קטע קוד שידפיס את מספר האבנים הכולל, את מספר אבנים שכל אחד יקבל ואת השארית?) -
@מאן-דאמר-5
יש לי מטלה
לא מספיק הבנתי את המטלה, אשמח לעזרה.
(לא מה קטע הקוד שצריך לכתוב, אלא מה המטלה.. אני מגדיר מספר אבנים שכל אחד אסף?
ואז צריך לתת קטע קוד שידפיס את מספר האבנים הכולל, את מספר אבנים שכל אחד יקבל ואת השארית?) -
@פלדה זה תרגיל כדי ללמוד על פעולת חילוק ושארית, לכן האתגר הראשון הוא לקחת מספר של שלש ספרות (נגיד 124) ולהפוך אותו לשלש מספרים נפרדים, 1 2 ו4, ולחבר אותם יחד וכמובן להגיע ל 7.
-
@פלדה כמובן לכתוב קוד ש1) לוקח את המספר הזה מהמשתמש, 2) מוצא את המספר הראשון 3) מוצא את המספר השני 4) מוצא את המספר השלישי 5)מחבר אותם 6)מדפיס אותם
-
@פלדה אתה כותב הכל בשורה אחת, וזאת משום שכשאתה לוחץ על אנטר הוא מיד מפעיל את הפקודה input.
לכן שמע לי, כתוב בשורת החיפוש במחשב: idle
אם הוא מוצא לך משהו, זה עורך קוד קטן ופשוט שמותקן בד"כ אוטומטית יחד עם פייתון.
פתח את התוכנה, ובחר file > new file.
זה יפתח לך קובץ חדש שאותו תוכל לכתוב ולהריץ לאחר מכן את כולו, במקום שורה שורה.
ההרצה היא בלחיצה על run או F5.
בהצלחה.