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

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. עזרה | בניית תוכנת חיפוש בPYTHON

עזרה | בניית תוכנת חיפוש בPYTHON

מתוזמן נעוץ נעול הועבר תכנות
34 פוסטים 7 כותבים 1.8k צפיות 6 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • רחמיםר רחמים

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

    yossizY
    yossizY
    yossiz
    כתב ב נערך לאחרונה על ידי yossiz
    #8

    @רחמים אוקיי, אני שומע, תירוץ מלומד... אבל בקוד הדוגמה שלך המערך לא ממויין ובכל מקרה הפונקציה index עובר על כל המערך עד הערך הרצוי...
    (גם מילת המפתח: פעמים שהוא יותר מהיר... זה תלוי בכמה משתנים)

    📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה
    👈 רוצים כתובת מייל בעברית? כנסו למייל.קום 👉

    תגובה 1 תגובה אחרונה
    5
    • A aaron

      @dovid אמר בעזרה | בניית תוכנת חיפוש בPYTHON:

      הנה קוד כמו ש@yossiz ענה:

      names = {
        "רבא": "rava.txt",
        "אביי": "abye.txt",
        "שמואל": "shmuel.txt"
      }
       
      chosen = names.get(input, None)
      if chosen is not None: 
          print(chosen)
      else:
          print("שם לא קיים במערכת")
       
      
      

      סתם שאלה, הקוד שכתבת תקני?
      אפשר לכתוב print ללא סוגריים?

      סתם לשם החפירה, הייתי משנה קצת:
      (כי בדיוק פה הכח של פייתון מבחינתי. בנראות וקריאות..)

      names = {
        "רבא": "rava.txt",
        "אביי": "abye.txt",
        "שמואל": "shmuel.txt"
      }
      
      if names.get(input):
          print(names[input])
      else:
          print("שם לא קיים במערכת")
      

      או יותר קצר:

      print(names.get(input, "שם לא קיים במערכת")) 
      
      

      אני בוחר להשתמש בprint(names[input]) ולא בprint(names.get(input)) כי לדעתי זאת דרך נכונה לתת לפיתון להקפיץ שגיאות בעצמה ולא לנסות לנהל אותם לבד. זה מקל בד"כ על דיבאג..

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

      @aaron אמר בעזרה | בניית תוכנת חיפוש בPYTHON:

      if names.get(input):
      print(names[input])

      זה יעשה את החיפוש פעמים לשווה

      תגובה 1 תגובה אחרונה
      0
      • dovidD dovid

        הנה קוד כמו ש@yossiz ענה:

        names = {
          "רבא": "rava.txt",
          "אביי": "abye.txt",
          "שמואל": "shmuel.txt"
        }
         
        chosen = names.get(input, None)
        if chosen is not None: 
            print(chosen)
        else:
            print("שם לא קיים במערכת")
         
        
        

        סתם שאלה, הקוד שכתבת תקני?
        אפשר לכתוב print ללא סוגריים?

        L
        L
        LindoorsOS
        כתב ב נערך לאחרונה על ידי
        #10

        @dovid אמר בעזרה | בניית תוכנת חיפוש בPYTHON:

        הנה קוד כמו ש@yossiz ענה:

        names = {
          "רבא": "rava.txt",
          "אביי": "abye.txt",
          "שמואל": "shmuel.txt"
        }
         
        chosen = names.get(input, None)
        if chosen is not None: 
            print(chosen)
        else:
            print("שם לא קיים במערכת")
         
        
        

        סתם שאלה, הקוד שכתבת תקני?
        אפשר לכתוב print ללא סוגריים?

        אני כתבתי ככה כמה פעמים

        רחמיםר תגובה 1 תגובה אחרונה
        0
        • L LindoorsOS

          @dovid אמר בעזרה | בניית תוכנת חיפוש בPYTHON:

          הנה קוד כמו ש@yossiz ענה:

          names = {
            "רבא": "rava.txt",
            "אביי": "abye.txt",
            "שמואל": "shmuel.txt"
          }
           
          chosen = names.get(input, None)
          if chosen is not None: 
              print(chosen)
          else:
              print("שם לא קיים במערכת")
           
          
          

          סתם שאלה, הקוד שכתבת תקני?
          אפשר לכתוב print ללא סוגריים?

          אני כתבתי ככה כמה פעמים

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

          @lindoorsos כמו שחשבתי dict הוא למעשה טבלת גיבוב, ראה כאן.

          dovidD תגובה 1 תגובה אחרונה
          -1
          • רחמיםר רחמים

            @lindoorsos כמו שחשבתי dict הוא למעשה טבלת גיבוב, ראה כאן.

            dovidD
            dovidD
            dovid
            ניהול
            כתב ב נערך לאחרונה על ידי
            #12

            @רחמים אמר בעזרה | בניית תוכנת חיפוש בPYTHON:

            @lindoorsos כמו שחשבתי dict הוא למעשה טבלת גיבוב, ראה כאן.

            כפי שנרמז זה מאוד מאוד לא רלוונטי לנושא ולשואל.

            • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
            • בכל נושא אפשר ליצור קשר dovid@tchumim.com
            תגובה 1 תגובה אחרונה
            0
            • L
              L
              LindoorsOS
              כתב ב נערך לאחרונה על ידי
              #13

              ברור לי שאני מפשל במשהו.כבר הרבה זמן לא ישבתי על פייתון, ואני די מתחיל בנושא...
              אז ברור שאני עושה טעות שטותית, אבל אני לא מצליח למצוא אותה
              מה התקלה כאן?

              names = raw_input ('enter name')
              names = {
                "רבא": "rava.txt",
                "אביי": "abye.txt",
                "שמואל": "shmuel.txt"
              }
               
              chosen = names.get(input, None)
              if chosen is not None: 
                  print(chosen)
              else:
                  print("שם לא קיים במערכת")
               
              
              yossizY תגובה 1 תגובה אחרונה
              0
              • L LindoorsOS

                ברור לי שאני מפשל במשהו.כבר הרבה זמן לא ישבתי על פייתון, ואני די מתחיל בנושא...
                אז ברור שאני עושה טעות שטותית, אבל אני לא מצליח למצוא אותה
                מה התקלה כאן?

                names = raw_input ('enter name')
                names = {
                  "רבא": "rava.txt",
                  "אביי": "abye.txt",
                  "שמואל": "shmuel.txt"
                }
                 
                chosen = names.get(input, None)
                if chosen is not None: 
                    print(chosen)
                else:
                    print("שם לא קיים במערכת")
                 
                
                yossizY
                yossizY
                yossiz
                כתב ב נערך לאחרונה על ידי
                #14

                @lindoorsos אתה מקבל שגיאה? תדביק פה את הפלט

                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה
                👈 רוצים כתובת מייל בעברית? כנסו למייל.קום 👉

                L 2 תגובות תגובה אחרונה
                0
                • yossizY yossiz

                  @lindoorsos אתה מקבל שגיאה? תדביק פה את הפלט

                  L
                  L
                  LindoorsOS
                  כתב ב נערך לאחרונה על ידי
                  #15

                  @yossiz

                  Traceback (most recent call last):
                    File "C:\Users\user\Downloads\Portable Python-3.8.6 x64\App\PyScripter\module2.py", line 27, in <module>
                      main()
                    File "C:\Users\user\Downloads\Portable Python-3.8.6 x64\App\PyScripter\module2.py", line 13, in main
                      names = raw_input ('enter name')
                  NameError: name 'raw_input' is not defined
                  
                  yossizY תגובה 1 תגובה אחרונה
                  0
                  • yossizY yossiz

                    @lindoorsos אתה מקבל שגיאה? תדביק פה את הפלט

                    L
                    L
                    LindoorsOS
                    כתב ב נערך לאחרונה על ידי
                    #16

                    @yossiz זה הקוד המלא שכתבתי

                    def main():
                        names = raw_input ('enter name')
                    names = {
                      "רבא": "rava.txt",
                      "אביי": "abye.txt",
                      "שמואל": "shmuel.txt"
                    }
                    
                    chosen = names.get(input, None)
                    if chosen is not None:
                        print(chosen)
                    else:
                        print("שם לא קיים במערכת")
                    
                    if __name__ == '__main__':
                        main()
                    
                    
                    תגובה 1 תגובה אחרונה
                    0
                    • L LindoorsOS

                      @yossiz

                      Traceback (most recent call last):
                        File "C:\Users\user\Downloads\Portable Python-3.8.6 x64\App\PyScripter\module2.py", line 27, in <module>
                          main()
                        File "C:\Users\user\Downloads\Portable Python-3.8.6 x64\App\PyScripter\module2.py", line 13, in main
                          names = raw_input ('enter name')
                      NameError: name 'raw_input' is not defined
                      
                      yossizY
                      yossizY
                      yossiz
                      כתב ב נערך לאחרונה על ידי
                      #17

                      הנה:

                      def main():
                          name = input ('enter name: ')
                          names = {
                              "רבא": "rava.txt",
                              "אביי": "abye.txt",
                              "שמואל": "shmuel.txt"
                          }
                       
                          chosen = names.get(name, None)
                          if chosen is not None:
                              print(chosen)
                          else:
                              print("שם לא קיים במערכת")
                      
                      if __name__ == '__main__':
                          main()
                      

                      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה
                      👈 רוצים כתובת מייל בעברית? כנסו למייל.קום 👉

                      L תגובה 1 תגובה אחרונה
                      1
                      • yossizY yossiz

                        הנה:

                        def main():
                            name = input ('enter name: ')
                            names = {
                                "רבא": "rava.txt",
                                "אביי": "abye.txt",
                                "שמואל": "shmuel.txt"
                            }
                         
                            chosen = names.get(name, None)
                            if chosen is not None:
                                print(chosen)
                            else:
                                print("שם לא קיים במערכת")
                        
                        if __name__ == '__main__':
                            main()
                        
                        L
                        L
                        LindoorsOS
                        כתב ב נערך לאחרונה על ידי
                        #18

                        @yossiz אמר בעזרה | בניית תוכנת חיפוש בPYTHON:

                        הנה:

                        def main():
                            name = input ('enter name: ')
                            names = {
                                "רבא": "rava.txt",
                                "אביי": "abye.txt",
                                "שמואל": "shmuel.txt"
                            }
                         
                            chosen = names.get(name, None)
                            if chosen is not None:
                                print(chosen)
                            else:
                                print("שם לא קיים במערכת")
                        
                        if __name__ == '__main__':
                            main()
                        

                        תודה.כלומר המדריך שאני לומד ממנו הוסיף סתם את raw_?

                        yossizY תגובה 1 תגובה אחרונה
                        0
                        • L LindoorsOS

                          @yossiz אמר בעזרה | בניית תוכנת חיפוש בPYTHON:

                          הנה:

                          def main():
                              name = input ('enter name: ')
                              names = {
                                  "רבא": "rava.txt",
                                  "אביי": "abye.txt",
                                  "שמואל": "shmuel.txt"
                              }
                           
                              chosen = names.get(name, None)
                              if chosen is not None:
                                  print(chosen)
                              else:
                                  print("שם לא קיים במערכת")
                          
                          if __name__ == '__main__':
                              main()
                          

                          תודה.כלומר המדריך שאני לומד ממנו הוסיף סתם את raw_?

                          yossizY
                          yossizY
                          yossiz
                          כתב ב נערך לאחרונה על ידי
                          #19

                          @lindoorsos לא, זה היה בפייתון 2, בגירסה 3 שינו את השם של הפונקציה.

                          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה
                          👈 רוצים כתובת מייל בעברית? כנסו למייל.קום 👉

                          L תגובה 1 תגובה אחרונה
                          1
                          • yossizY yossiz

                            @lindoorsos לא, זה היה בפייתון 2, בגירסה 3 שינו את השם של הפונקציה.

                            L
                            L
                            LindoorsOS
                            כתב ב נערך לאחרונה על ידי
                            #20

                            @yossiz אמר בעזרה | בניית תוכנת חיפוש בPYTHON:

                            @lindoorsos לא, זה היה בפייתון 2, בגירסה 3 שינו את השם של הפונקציה.

                            אה אוי.אני עובד עם מדריך של פייתון 2...נחפש של 3.בינתיים מה התקלה כאן?

                            def main():
                            rava_file = open (r'C:\Users\user\Downloads\Portable Python-3.8.6 x64\baal\rava.txt)
                                              rava = rava_file.read()
                                name = input ('enter name: ')
                                names = {
                                    "רבא":  rava,
                                    "אביי": "abye.txt",
                                    "שמואל": "shmuel.txt"
                                }
                             
                                chosen = names.get(name, None)
                                if chosen is not None:
                                    print(chosen)
                                else:
                                    print("שם לא קיים במערכת")
                             
                            if __name__ == '__main__':
                                main()
                            
                            
                            yossizY תגובה 1 תגובה אחרונה
                            0
                            • L LindoorsOS

                              @yossiz אמר בעזרה | בניית תוכנת חיפוש בPYTHON:

                              @lindoorsos לא, זה היה בפייתון 2, בגירסה 3 שינו את השם של הפונקציה.

                              אה אוי.אני עובד עם מדריך של פייתון 2...נחפש של 3.בינתיים מה התקלה כאן?

                              def main():
                              rava_file = open (r'C:\Users\user\Downloads\Portable Python-3.8.6 x64\baal\rava.txt)
                                                rava = rava_file.read()
                                  name = input ('enter name: ')
                                  names = {
                                      "רבא":  rava,
                                      "אביי": "abye.txt",
                                      "שמואל": "shmuel.txt"
                                  }
                               
                                  chosen = names.get(name, None)
                                  if chosen is not None:
                                      print(chosen)
                                  else:
                                      print("שם לא קיים במערכת")
                               
                              if __name__ == '__main__':
                                  main()
                              
                              
                              yossizY
                              yossizY
                              yossiz
                              כתב ב נערך לאחרונה על ידי
                              #21

                              @lindoorsos אמר בעזרה | בניית תוכנת חיפוש בPYTHON:

                              בינתיים מה התקלה כאן?

                              תמיד תמיד תביא את הפלט של השגיאה

                              📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה
                              👈 רוצים כתובת מייל בעברית? כנסו למייל.קום 👉

                              L תגובה 1 תגובה אחרונה
                              1
                              • yossizY yossiz

                                @lindoorsos אמר בעזרה | בניית תוכנת חיפוש בPYTHON:

                                בינתיים מה התקלה כאן?

                                תמיד תמיד תביא את הפלט של השגיאה

                                L
                                L
                                LindoorsOS
                                כתב ב נערך לאחרונה על ידי
                                #22

                                @yossiz אמר בעזרה | בניית תוכנת חיפוש בPYTHON:

                                @lindoorsos אמר בעזרה | בניית תוכנת חיפוש בPYTHON:

                                בינתיים מה התקלה כאן?

                                תמיד תמיד תביא את הפלט של השגיאה

                                invalid sytex

                                yossizY תגובה 1 תגובה אחרונה
                                0
                                • L LindoorsOS

                                  @yossiz אמר בעזרה | בניית תוכנת חיפוש בPYTHON:

                                  @lindoorsos אמר בעזרה | בניית תוכנת חיפוש בPYTHON:

                                  בינתיים מה התקלה כאן?

                                  תמיד תמיד תביא את הפלט של השגיאה

                                  invalid sytex

                                  yossizY
                                  yossizY
                                  yossiz
                                  כתב ב נערך לאחרונה על ידי
                                  #23

                                  @lindoorsos תביא את הכל

                                  📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה
                                  👈 רוצים כתובת מייל בעברית? כנסו למייל.קום 👉

                                  L תגובה 1 תגובה אחרונה
                                  0
                                  • yossizY yossiz

                                    @lindoorsos תביא את הכל

                                    L
                                    L
                                    LindoorsOS
                                    כתב ב נערך לאחרונה על ידי
                                    #24

                                    @yossiz
                                    2a3342db-b09f-4946-8e5e-15a837f97af2-image.png

                                    yossizY תגובה 1 תגובה אחרונה
                                    0
                                    • L LindoorsOS

                                      @yossiz
                                      2a3342db-b09f-4946-8e5e-15a837f97af2-image.png

                                      yossizY
                                      yossizY
                                      yossiz
                                      כתב ב נערך לאחרונה על ידי
                                      #25

                                      @lindoorsos נו, אתה לא מבין מה כתוב? נסית להבין?

                                      התוכן של הפונקציה אמור להיות מוכנסת

                                      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה
                                      👈 רוצים כתובת מייל בעברית? כנסו למייל.קום 👉

                                      L תגובה 1 תגובה אחרונה
                                      0
                                      • yossizY yossiz

                                        @lindoorsos נו, אתה לא מבין מה כתוב? נסית להבין?

                                        התוכן של הפונקציה אמור להיות מוכנסת

                                        L
                                        L
                                        LindoorsOS
                                        כתב ב נערך לאחרונה על ידי
                                        #26

                                        @yossiz אמר בעזרה | בניית תוכנת חיפוש בPYTHON:

                                        @lindoorsos נו, אתה לא מבין מה כתוב? נסית להבין?

                                        התוכן של הפונקציה אמור להיות מוכנסת

                                        וואלה לא הצלחתי להבין...גם לא אותך...

                                        OdedDvirO dovidD 2 תגובות תגובה אחרונה
                                        0
                                        • L LindoorsOS

                                          @yossiz אמר בעזרה | בניית תוכנת חיפוש בPYTHON:

                                          @lindoorsos נו, אתה לא מבין מה כתוב? נסית להבין?

                                          התוכן של הפונקציה אמור להיות מוכנסת

                                          וואלה לא הצלחתי להבין...גם לא אותך...

                                          OdedDvirO
                                          OdedDvirO
                                          OdedDvir
                                          כתב ב נערך לאחרונה על ידי
                                          #27

                                          @lindoorsos צריך טאב בתחילת השורה

                                          L תגובה 1 תגובה אחרונה
                                          2

                                          שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

                                          נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

                                          בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

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


                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

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

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