בקשת מידע | קורס פייתון
-
@פלדה כתב בבקשת מידע | קורס פייתון:
אתה יודע לקרוא שגיאות???
אנגלית פשוטה....
בגדול (ואני לא מדייק ב100% בהסבר, כי אני לא מבין גדול בפייתון בשביל להסביר מדוייק לחלוטין).
הוא לא מכיר את הפקודה operator, אתה צריך לייבא אותה כדי שהוא יכיר אותה.
איך? אין לי מושג. -
@פלדה כתב בבקשת מידע | קורס פייתון:
כנראה בארד שיקר לי
אם אתה רוצה לדעת פייתון בסיום הקורס אז אל תשתמש ב AI,
כיון שהם עושים עבורך את העבודה, והדרך היחידה ללמוד זה רק לשבור את האצבעות ולכתוב לבד.בהתחלה רק גוגל, שם גם תקבל רק מידע אמין בלי שטויות.
-
@פלדה כתב בבקשת מידע | קורס פייתון:
אתה יודע לקרוא שגיאות???
אגב, פייתון נהיה ממש ידידותי בהודעות השגיאה, וככל שגרסאות פייתון מתקדמות יותר יוצאות לשוק זה הולך ונהיה נחמד.
למשל הפעם הוא כתב לך פשוט כך:
השם "operator" לא נמצא. אולי שכחת לייבא אותו?שווה להשתמש בתרגום, ועם הזמן ללמוד את האנגלית, זה פשוט חוסך המון.
-
@איסתרק-השלישי
מישהו יכול להסביר ל למה זה מה שקרה ?
לכאורה זה היה אמור להדפיס את המילה הכי ארוכה, לא? -
@איסתרק-השלישי
עבד. תודה.
מה זה עשה בעצם? -
@sivan22 זה מענין כי אצלי ברירת המחדל כן הייתה החזרת המחרוזת הארוכה ביותר.
@פלדה כתב בבקשת מידע | קורס פייתון:
מה זה עשה בעצם?
key פירושו מפתח, הפונקציה max תחזיר את הערך הגבוה לפי המפתח שהוזן. ניתן להגדיר כמפתח כל פונקציה שמחזירה ערך מסויים על כל איבר ברשימה, במקרה שלנו len - פונקציה שמחזירה את אורך המחרוזת. ולכן max תחזיר את המחרוזת הארוכה ביותר ברשימה. אצלי זה היה מוגדר כברירת מחדל, כנ"ל, מענין מאוד למה אצלך לא.
-
@ישראל-1-0 @איסתרק-השלישי
אוקיי חבר'ה, זו המשימה שלי:
יש לי כבסיס את הקטע קוד הבא שכתבתי -def is_valid_input(letter_guessed): ... if len(letter_guessed) != 1: ... if(letter_guessed).isalpha(): ... print ("fales") ... else: ... print ("fales") ... else: ... if(letter_guessed).isalpha(): ... print ("true") ... else: ... print ("fales")
בעזרת איזו פקודה אפשר להגדיר שכל ערך תקין יוכנס לרשימה, והערך הבא שיוכנס - אם הוכנס כבר יוחזר הערך הבוליאני fales?
אל תגלו לי רק תגידו מה הפקודות.
אגב, אם יש למישהו הערות על הקטע קוד הנ"ל, אשמח לשמוע.. -
@פלדה הערה על הקוד: אם שונה מאחד אין עוד טעם לבדוק אם זו אות, הרי זה ודאי שגיאה.
הקוד המתוקן:
def is_valid_input(letter_guessed): ... if len(letter_guessed) != 1: ... print ("fales") ... else: ... if(letter_guessed).isalpha(): ... print ("true") ... else: ... print ("fales")
-
@sivan22
נסיתי לכתוב (כפתרון לתרגיל) את קטע הקוד הבא:>>> old_letters_guessed = [] >>> letter_guessed = input("נחש תו") >>> def is_valid_input(letter_guessed): ... if len(letter_guessed) != 1: ... print ("X") ... "->".join(sorted(old_letters_guessed)) ... else: ... if(letter_guessed).isalpha(): ... print ("true") ... old_letters_guessed += [letter_guessed] ... else: ... print ("X") ... "->".join(sorted(old_letters_guessed))
וכשקראתי לפונקציה -
>>> is_valid_input("t") true Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 8, in is_valid_input UnboundLocalError: cannot access local variable 'old_letters_guessed' where it is not associated with a value
אם הבנתי נכון, הוא לא הצליח לגשת לרשימה.למה?
הייתי צריך להגדיר אותה ככה?old_letters_guessed = ([""])
-
@פלדה הסיבה שהוא לא הצליח לגשת לרשימה זה בגלל שקראת בתוך הפונקציה למשתנה שהוגדר מחוץ לפונקציה, הקוד צריך להיראות כך:
>>> old_letters_guessed = [] >>> letter_guessed = input("נחש תו") >>> def is_valid_input(letter_guessed, old_letters_guessed): ... if len(letter_guessed) != 1: ... print ("X") ... "->".join(sorted(old_letters_guessed)) ... else: ... if(letter_guessed).isalpha(): ... print ("true") ... old_letters_guessed += [letter_guessed] ... else: ... print ("X") ... "->".join(sorted(old_letters_guessed))
ואז הקריאה לפונקציה:
>>> is_valid_input("t", old_letters_guessed)
אגב, זה חלק מדרישות המשימה המקוריות.