דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
לוגו מותג
  1. דף הבית
  2. קטגוריות בהרצה
  3. תכנות
  4. Python
  5. עזרה הדדית - Python
  6. בקשת מידע | קורס פייתון

בקשת מידע | קורס פייתון

מתוזמן נעוץ נעול הועבר עזרה הדדית - Python
221 פוסטים 22 כותבים 3.7k צפיות 20 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • sivan22S sivan22

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

    הקוד המתוקן:

     def is_valid_input(letter_guessed):
    ...    if len(letter_guessed) != 1:
    ...         print ("fales")
    ...    else:
    ...         if(letter_guessed).isalpha():
    ...             print ("true")
    ...         else:
    ...             print ("fales")
    
    
    פ מנותק
    פ מנותק
    פלדה
    כתב ב נערך לאחרונה על ידי
    #159

    @sivan22
    אתה צודק
    זו פשוט עריכה של קוד קודם שבו הייתה הודעת שגיאה שונה לכל שגיאה..

    תגובה 1 תגובה אחרונה
    0
    • sivan22S sivan22

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

      הקוד המתוקן:

       def is_valid_input(letter_guessed):
      ...    if len(letter_guessed) != 1:
      ...         print ("fales")
      ...    else:
      ...         if(letter_guessed).isalpha():
      ...             print ("true")
      ...         else:
      ...             print ("fales")
      
      
      פ מנותק
      פ מנותק
      פלדה
      כתב ב נערך לאחרונה על ידי
      #160

      @sivan22
      בכ"מ, הקוד הזה לא כולל את ההוראות החדשות..

      sivan22S תגובה 1 תגובה אחרונה
      0
      • פ פלדה

        @sivan22
        בכ"מ, הקוד הזה לא כולל את ההוראות החדשות..

        sivan22S מנותק
        sivan22S מנותק
        sivan22
        כתב ב נערך לאחרונה על ידי
        #161

        @פלדה בדרך כלל משתמשים במילת המפתח in כדי לחפש פריט ברשימה:

        if is_valid_input(letter) and letter not in guessed_list:
        

        שים לב כמה הקוד קריא ומובן כמו אנגלית פשוטה.

        פ תגובה 1 תגובה אחרונה
        1
        • sivan22S sivan22

          @פלדה בדרך כלל משתמשים במילת המפתח in כדי לחפש פריט ברשימה:

          if is_valid_input(letter) and letter not in guessed_list:
          

          שים לב כמה הקוד קריא ומובן כמו אנגלית פשוטה.

          פ מנותק
          פ מנותק
          פלדה
          כתב ב נערך לאחרונה על ידי
          #162

          @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 = ([""])
          
          sivan22S תגובה 1 תגובה אחרונה
          0
          • פ פלדה

            @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 = ([""])
            
            sivan22S מנותק
            sivan22S מנותק
            sivan22
            כתב ב נערך לאחרונה על ידי
            #163

            @פלדה הסיבה שהוא לא הצליח לגשת לרשימה זה בגלל שקראת בתוך הפונקציה למשתנה שהוגדר מחוץ לפונקציה, הקוד צריך להיראות כך:

            >>> 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)
            
            

            אגב, זה חלק מדרישות המשימה המקוריות.

            פ תגובה 1 תגובה אחרונה
            2
            • sivan22S sivan22

              @פלדה הסיבה שהוא לא הצליח לגשת לרשימה זה בגלל שקראת בתוך הפונקציה למשתנה שהוגדר מחוץ לפונקציה, הקוד צריך להיראות כך:

              >>> 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)
              
              

              אגב, זה חלק מדרישות המשימה המקוריות.

              פ מנותק
              פ מנותק
              פלדה
              כתב ב נערך לאחרונה על ידי
              #164

              @sivan22 כתב בבקשת מידע | קורס פייתון:

              הקוד צריך להיראות כך:

              > 
              > >>> 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))
              

              שונה מהקוד שאני כתבתי?

              sivan22S תגובה 1 תגובה אחרונה
              0
              • פ פלדה

                @sivan22 כתב בבקשת מידע | קורס פייתון:

                הקוד צריך להיראות כך:

                > 
                > >>> 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))
                

                שונה מהקוד שאני כתבתי?

                sivan22S מנותק
                sivan22S מנותק
                sivan22
                כתב ב נערך לאחרונה על ידי
                #165

                @פלדה כמובן, יחי ההבדל הקטן!

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

                פ 2 תגובות תגובה אחרונה
                1
                • sivan22S sivan22

                  @פלדה כמובן, יחי ההבדל הקטן!

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

                  פ מנותק
                  פ מנותק
                  פלדה
                  כתב ב נערך לאחרונה על ידי
                  #166

                  @sivan22
                  לא, את זה הבנתי.
                  אני מתכוון לא בקריאה לקוד (שכל אחד רואה את ההבדל, א"א לפספס...)
                  אלא האם יש הבדל בקטע קוד עצמו. לא, נכון?

                  תגובה 1 תגובה אחרונה
                  0
                  • sivan22S sivan22

                    @פלדה כמובן, יחי ההבדל הקטן!

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

                    פ מנותק
                    פ מנותק
                    פלדה
                    כתב ב נערך לאחרונה על ידי
                    #167

                    @sivan22

                    def numbers_letters_count(my_str):
                    ...     numbers = []
                    ...     others = []
                    ...     for char in my_str:
                    ...         if char.isdigit():
                    ...             numbers.append(char)
                    ...             print (len(numbers))
                    ...         else:
                    ...             others.append(char)
                    ...             print (len(others))
                    ...
                    >>> print(numbers_letters_count("Python 3.6.3"))
                    

                    ובכן, הייתי מצפה שהפלט יהיה -

                    3
                    9
                    

                    אבל הפלט הוא -

                    >>> print(numbers_letters_count("Python 3.6.3"))
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    1
                    8
                    2
                    9
                    3
                    None
                    
                    א תגובה 1 תגובה אחרונה
                    0
                    • פ פלדה

                      @sivan22

                      def numbers_letters_count(my_str):
                      ...     numbers = []
                      ...     others = []
                      ...     for char in my_str:
                      ...         if char.isdigit():
                      ...             numbers.append(char)
                      ...             print (len(numbers))
                      ...         else:
                      ...             others.append(char)
                      ...             print (len(others))
                      ...
                      >>> print(numbers_letters_count("Python 3.6.3"))
                      

                      ובכן, הייתי מצפה שהפלט יהיה -

                      3
                      9
                      

                      אבל הפלט הוא -

                      >>> print(numbers_letters_count("Python 3.6.3"))
                      1
                      2
                      3
                      4
                      5
                      6
                      7
                      1
                      8
                      2
                      9
                      3
                      None
                      
                      א מנותק
                      א מנותק
                      איסתרק השלישי
                      כתב ב נערך לאחרונה על ידי
                      #168

                      @פלדה הגדרת לו הדפסה בכל איטרציה של הלולאה, כלומר כל פעם אחרי פעולה של הוספה לרשימה - הוא מדפיס את אורך הרשימה. בתחילה רק את רשימת התוים שאינם מספרים, בסדר עולה - עם כל תו שמתווסף, ולאחר מכן - הוא מתחיל להדפיס את רשימת הספרות - כאשר בין לבין יש גם תו שאינו מספר - הנקודה, לכן זה נראה כך
                      1
                      8
                      2
                      9
                      3

                      א תגובה 1 תגובה אחרונה
                      0
                      • א איסתרק השלישי

                        @פלדה הגדרת לו הדפסה בכל איטרציה של הלולאה, כלומר כל פעם אחרי פעולה של הוספה לרשימה - הוא מדפיס את אורך הרשימה. בתחילה רק את רשימת התוים שאינם מספרים, בסדר עולה - עם כל תו שמתווסף, ולאחר מכן - הוא מתחיל להדפיס את רשימת הספרות - כאשר בין לבין יש גם תו שאינו מספר - הנקודה, לכן זה נראה כך
                        1
                        8
                        2
                        9
                        3

                        א מנותק
                        א מנותק
                        איסתרק השלישי
                        כתב ב נערך לאחרונה על ידי
                        #169

                        אם אתה רוצה שידפיס לך רק פעם אחת, תוציא את ה print מהבלוק של ה for,
                        ודו"ק

                        פ תגובה 1 תגובה אחרונה
                        0
                        • א איסתרק השלישי

                          אם אתה רוצה שידפיס לך רק פעם אחת, תוציא את ה print מהבלוק של ה for,
                          ודו"ק

                          פ מנותק
                          פ מנותק
                          פלדה
                          כתב ב נערך לאחרונה על ידי
                          #170

                          @איסתרק-השלישי כתב בבקשת מידע | קורס פייתון:

                          אם אתה רוצה שידפיס לך רק פעם אחת, תוציא את ה print מהבלוק של ה for,

                          ואיפה לשים אותו? בקריאה לפונקציה?

                          א תגובה 1 תגובה אחרונה
                          0
                          • פ פלדה

                            @איסתרק-השלישי כתב בבקשת מידע | קורס פייתון:

                            אם אתה רוצה שידפיס לך רק פעם אחת, תוציא את ה print מהבלוק של ה for,

                            ואיפה לשים אותו? בקריאה לפונקציה?

                            א מנותק
                            א מנותק
                            איסתרק השלישי
                            כתב ב נערך לאחרונה על ידי
                            #171

                            @פלדה לא, כך:

                            def numbers_letters_count(my_str):
                            ...     numbers = []
                            ...     others = []
                            ...     for char in my_str:
                            ...         if char.isdigit():
                            ...             numbers.append(char)
                            ...         else:
                            ...             others.append(char)
                            ...             
                                    print (len(numbers))
                                    print (len(others))
                            >>> numbers_letters_count("Python 3.6.3")
                            

                            מחקתי גם את ה print שהיה בקריאה לפונקציה, הוא מיותר.

                            פ תגובה 1 תגובה אחרונה
                            1
                            • א איסתרק השלישי

                              @פלדה לא, כך:

                              def numbers_letters_count(my_str):
                              ...     numbers = []
                              ...     others = []
                              ...     for char in my_str:
                              ...         if char.isdigit():
                              ...             numbers.append(char)
                              ...         else:
                              ...             others.append(char)
                              ...             
                                      print (len(numbers))
                                      print (len(others))
                              >>> numbers_letters_count("Python 3.6.3")
                              

                              מחקתי גם את ה print שהיה בקריאה לפונקציה, הוא מיותר.

                              פ מנותק
                              פ מנותק
                              פלדה
                              כתב ב נערך לאחרונה על ידי
                              #172

                              @איסתרק-השלישי
                              ו--
                              מה הבעיה בזה??

                              >>> def main():
                              ...     products = input("הזן רשימת מוצרים לקניות, מופרדת בפסיקים ללא רווחים: ")
                              ...     action = int(input("הזן מספר פעולה: ")
                              ...     if action == 1:
                                File "<stdin>", line 4
                                  if action == 1:
                                                ^
                              SyntaxError: invalid syntax
                              

                              למה קבלתי הודעת שגיאה?

                              א תגובה 1 תגובה אחרונה
                              0
                              • פ פלדה

                                @איסתרק-השלישי
                                ו--
                                מה הבעיה בזה??

                                >>> def main():
                                ...     products = input("הזן רשימת מוצרים לקניות, מופרדת בפסיקים ללא רווחים: ")
                                ...     action = int(input("הזן מספר פעולה: ")
                                ...     if action == 1:
                                  File "<stdin>", line 4
                                    if action == 1:
                                                  ^
                                SyntaxError: invalid syntax
                                

                                למה קבלתי הודעת שגיאה?

                                א מנותק
                                א מנותק
                                איסתרק השלישי
                                כתב ב נערך לאחרונה על ידי
                                #173

                                @פלדה אני לא רואה שום בעיה, אולי בטעות יש רווח מיותר אחרי הנקודתיים?

                                פ תגובה 1 תגובה אחרונה
                                0
                                • א איסתרק השלישי

                                  @פלדה אני לא רואה שום בעיה, אולי בטעות יש רווח מיותר אחרי הנקודתיים?

                                  פ מנותק
                                  פ מנותק
                                  פלדה
                                  כתב ב נערך לאחרונה על ידי
                                  #174

                                  @איסתרק-השלישי
                                  תודה, גליתי את הבעיה.
                                  בשורה הזאת

                                  action = int(input("הזן מספר פעולה: ")
                                  חסר סגור סוגריים.
                                  

                                  אגב אשמח אם תוכל לעזור לי בזה

                                  תגובה 1 תגובה אחרונה
                                  0
                                  • פ פלדה

                                    @פלדה
                                    הגדרתי את HANGMAN_ASCII_ART כמשתנה למשפט Welcome to the game Hangman
                                    ושנתתי את הפקודה Print ("HANGMAN_ASCII_ART") זה הדפיס לי את המשתנה ולא את המשפט שאותו הוא 'מייצג'
                                    dd4d53a3-667d-4ae4-b069-6abc40e7b1b8-image.png
                                    במה טעיתי?

                                    ה מנותק
                                    ה מנותק
                                    הרשי רוז
                                    כתב ב נערך לאחרונה על ידי
                                    #175

                                    @פלדה
                                    טעית בזה ששמת למשתנה מרכאות ובכך הפכת אותו למחרוזת חסרת משמעות ערכית
                                    למעשה עליך להכניס את המשתנה ללא המרכאות

                                    א פ 3 תגובות תגובה אחרונה
                                    0
                                    • ה הרשי רוז

                                      @פלדה
                                      טעית בזה ששמת למשתנה מרכאות ובכך הפכת אותו למחרוזת חסרת משמעות ערכית
                                      למעשה עליך להכניס את המשתנה ללא המרכאות

                                      א מנותק
                                      א מנותק
                                      איסתרק השלישי
                                      כתב ב נערך לאחרונה על ידי
                                      #176

                                      @הרשי-רוז תן לי לנחש שאתה מגיע משפת תכנות אחרת שאינה פייתון....

                                      ה תגובה 1 תגובה אחרונה
                                      0
                                      • א איסתרק השלישי

                                        @הרשי-רוז תן לי לנחש שאתה מגיע משפת תכנות אחרת שאינה פייתון....

                                        ה מנותק
                                        ה מנותק
                                        הרשי רוז
                                        כתב ב נערך לאחרונה על ידי
                                        #177

                                        @איסתרק-השלישי אני מC#
                                        אבל גם לומד JS וקצת פייתון...

                                        תגובה 1 תגובה אחרונה
                                        0
                                        • ה הייתי שמח להבין התייחס לנושא זה ב
                                        • י מנותק
                                          י מנותק
                                          ישראל 1 0
                                          כתב ב נערך לאחרונה על ידי
                                          #178

                                          שלום אני מתכנת מתחיל בפייתון וניסיתי לכתוב מחשבון
                                          וזה הקוד

                                          def calculator():
                                              number_1 = int(input("Insert a number"))
                                              sign = int(input("Insert a mark"))
                                              number_2 = int(input("Insert a number"))
                                              if sign == "+":
                                                  print(number_1 + number_2)
                                              elif sign == "*":
                                                  print(number_1 * number_2)
                                              elif sign == "-":
                                                  print(number_1 - number_2)
                                              elif sign == "/":
                                                  print(number_1 / number_2)
                                              else:
                                                  print("Error Please enter a valid mark")
                                          
                                          calculator()
                                          
                                          

                                          וזה השגיאה
                                          Traceback (most recent call last):
                                          File "C:\Users\TA1\AppData\Local\Programs\Python\Python312\vfd.py", line 16, in <module>
                                          calculator()
                                          File "C:\Users\TA1\AppData\Local\Programs\Python\Python312\vfd.py", line 2, in calculator
                                          number_1 = input(int("Insert a number"))
                                          ValueError: invalid literal for int() with base 10: 'Insert a number'
                                          מה לא נכון?

                                          נ תגובה 1 תגובה אחרונה
                                          0

                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • חוקי הפורום
                                          • פופולרי
                                          • לא נפתר
                                          • משתמשים
                                          • חיפוש גוגל בפורום
                                          • צור קשר