דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • 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 Turtle Graphics - סקירה ומדריך

מדריך | Python Turtle Graphics - סקירה ומדריך

מתוזמן נעוץ נעול הועבר עזרה הדדית - Python
2 פוסטים 2 כותבים 270 צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מ מנותק
    מ מנותק
    ממענדל
    כתב ב נערך לאחרונה על ידי ממענדל
    #1

    שלום לכולם.
    רציתי לשתף ולהמליץ על ספרייה נחמדה של python בשם "turtle".
    הספרייה הזו בעצם נותנת לנו את האפשרות לשלב קצת צבע בתוכנה שלנו - גרפיקה וממשק.

    ביצוע import

    בשביל לייבא את turtle נכתוב בשורה הראשונה של הקוד שלנו:

    import turtle
    

    עכשיו נוכל להתחיל לעבוד עם turtle.
    ועכשיו - קצת הסברים על הפקודות האפשריות:

    הפקודות ב-turtle

    הקדמה ל-2 הפקודות הבאות:
    שתי הפקודות הבאות ישתנו בהתאם לרצונכם: אם המטרה היא להדפיס טקסט על המסך (ראה פקודת write) הפקודות יכתבו עם הקידומת ".turtle", אבל אם ברצונכם לצייר עיגולים, מרובעים, ספירלות וכיו"ב הקידומת צריכה להיות ".turtle.Pen". במקרה האחרון, הייתי ממליץ לקצר את הדרך ולכתוב את הקידומת הנ"ל בתוך משתנה בשם "t" ואז פשוט לכתוב ".t" במקום הקידומת.

    פקודות left ו-right:

    turtle.left(90)
    turtle.right(90)
    

    הפקודות "left"/"right" מזיזות את ה"צב" שלנו לצד ימין/שמאל לפי מספר המעלות שהגדרנו בסוגריים.
    פקודת forward:

    turtle.forward(90)
    

    "forward" גורם ל"צב" להתקדם קדימה לפי הכיוון שבו הוא נמצא כעת, לפי מספר המעלות בסוגריים.
    פקודת write:

    turtle.write("הטקסט שברצוננו להדפיס", font = ("Arial", 20, "bold"))
    

    "write" - כפי שכבר הוזכר - היא פקודה שמדפיסה טקסט על המסך.
    פקודת penup/pendown:

    turtle.penup()
    

    "pen up" מֶרים את העט למעלה כך שלמשל אם נזיז את העט על ידי פקודת left/right ואז מדפיס טקסט על המסך על ידי forward ולא נרצה שבתזוזות הצב במסך יצטיירו קווים שחורים - נשתמש ב-pen up. להורדת העט - נכתוב pendown.
    textinput/numtinput:

    turtle.textinput("הטקסט שיופיע מעל שורת הטקסט" ,"טקסט הכותרת")
    

    "textinput/numinput" היא ממש כמו פקודת "input" רגילה - רק עם תוספת של ממשק! (ראה תמונה בספויילר בסוף הפוסט.)
    "textinput" הוא עבור טקסט, ו"numinput" הוא עבור מספרים.
    done:

    turtle.done()
    

    הפקודה "done" תשאיר את המסך פתוח ולא תסגור אותו מיד לאחר שהוקבץ רץ וכל הפקודות בוצעו.
    clearscreen:

    turtle.clearscreen()
    

    "clearscreen" מנקה את המסך.

    לסיום

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

    ספויילר תמונות:

    תכירו, זה turtle, הצב של פייתון:turtle.png תצוגה של הפקודה "textinput": textinput.png

    ד תגובה 1 תגובה אחרונה
    4
    • מ ממענדל

      שלום לכולם.
      רציתי לשתף ולהמליץ על ספרייה נחמדה של python בשם "turtle".
      הספרייה הזו בעצם נותנת לנו את האפשרות לשלב קצת צבע בתוכנה שלנו - גרפיקה וממשק.

      ביצוע import

      בשביל לייבא את turtle נכתוב בשורה הראשונה של הקוד שלנו:

      import turtle
      

      עכשיו נוכל להתחיל לעבוד עם turtle.
      ועכשיו - קצת הסברים על הפקודות האפשריות:

      הפקודות ב-turtle

      הקדמה ל-2 הפקודות הבאות:
      שתי הפקודות הבאות ישתנו בהתאם לרצונכם: אם המטרה היא להדפיס טקסט על המסך (ראה פקודת write) הפקודות יכתבו עם הקידומת ".turtle", אבל אם ברצונכם לצייר עיגולים, מרובעים, ספירלות וכיו"ב הקידומת צריכה להיות ".turtle.Pen". במקרה האחרון, הייתי ממליץ לקצר את הדרך ולכתוב את הקידומת הנ"ל בתוך משתנה בשם "t" ואז פשוט לכתוב ".t" במקום הקידומת.

      פקודות left ו-right:

      turtle.left(90)
      turtle.right(90)
      

      הפקודות "left"/"right" מזיזות את ה"צב" שלנו לצד ימין/שמאל לפי מספר המעלות שהגדרנו בסוגריים.
      פקודת forward:

      turtle.forward(90)
      

      "forward" גורם ל"צב" להתקדם קדימה לפי הכיוון שבו הוא נמצא כעת, לפי מספר המעלות בסוגריים.
      פקודת write:

      turtle.write("הטקסט שברצוננו להדפיס", font = ("Arial", 20, "bold"))
      

      "write" - כפי שכבר הוזכר - היא פקודה שמדפיסה טקסט על המסך.
      פקודת penup/pendown:

      turtle.penup()
      

      "pen up" מֶרים את העט למעלה כך שלמשל אם נזיז את העט על ידי פקודת left/right ואז מדפיס טקסט על המסך על ידי forward ולא נרצה שבתזוזות הצב במסך יצטיירו קווים שחורים - נשתמש ב-pen up. להורדת העט - נכתוב pendown.
      textinput/numtinput:

      turtle.textinput("הטקסט שיופיע מעל שורת הטקסט" ,"טקסט הכותרת")
      

      "textinput/numinput" היא ממש כמו פקודת "input" רגילה - רק עם תוספת של ממשק! (ראה תמונה בספויילר בסוף הפוסט.)
      "textinput" הוא עבור טקסט, ו"numinput" הוא עבור מספרים.
      done:

      turtle.done()
      

      הפקודה "done" תשאיר את המסך פתוח ולא תסגור אותו מיד לאחר שהוקבץ רץ וכל הפקודות בוצעו.
      clearscreen:

      turtle.clearscreen()
      

      "clearscreen" מנקה את המסך.

      לסיום

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

      ספויילר תמונות:

      תכירו, זה turtle, הצב של פייתון:turtle.png תצוגה של הפקודה "textinput": textinput.png

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

      @ממענדל תודה על המדריך!
      אני כבר הרבה זמן נהנה עם הספרייה הזאת.
      משתף תוכנית שכתבתי:

      import turtle
      import math as m
      from time import sleep
      
      # יוצר פונקציות sin ו cos שמקבלות מעלות
      def dsin(n):
          return m.sin(n*m.pi/180)
      def dcos(n):
          return m.cos(n*m.pi/180)
          
      screen = turtle.Screen()
      t = turtle.Turtle()
      
      def f():
          t.hideturtle()
          screen.tracer(0)
          
          g = min(screen.window_width(), screen.window_height())*0.4 #מגדיר את גודל הכדור
          dist = 3 #מגדיר את המרחק בין הקוים (במעלות)
          st = dist/50 #מגדיר את הזמן שלוקח לצייר כל קו
          t.up()
          
          for d in range(270, 89, dist*-1):
              for i in range(180):
                  x, y = ((dsin(i)*dsin(d)))*g, (dcos(i))*g
                  t.goto(x, y)
                  t.down()
              t.up()
              screen.update()
              sleep(st)
          t.up()
          
          for d in range(270, 89, dist *-1):
              t.up()
              for i in range(180):
                  x, y = (dcos(i))*g, (dsin(i)*dsin(d))*g
                  t.goto(x, y)
                  t.down()
              screen.update()
              sleep(st)
                  
          turtle.done()
          return
      f()
      

      סליחה על הקוד המבולגן, אשמח לשמוע את דעת הציבור

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

      • התחברות

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

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