הצעת ייעול | הסקריפטים הראשונים שלי בפייתון
-
@בן-מאיר כתב בהצעת ייעול | הסקריפטים הראשונים שלי בפייתון:
למדתי לאחרונה פייתון בצורה עצמאית דרך סרטונים וכו'
אני מעלה פה כמה סקריפטים שכתבתי
אשמח לשמוע חווד דעת, על הסקריפיטים עצמם,ואיך אני יכול להשתפר, להתקדם ולאיזה כיווןסקריפטים יפים מאוד, (פעם הבאה תעלה אותם בzip ...)אם לכל זה הגעת בלימוד עצמאי, אתה ממש תלמיד מצטיין (יותר מ:
@בן-מאיר כתב בהצעת ייעול | הסקריפטים הראשונים שלי בפייתון:
בדיקת תאריך עברי באיזה יום בשבוע זה יוצא (פשוט למדתי את פייתון כמה סעיפים בטור והשולחן ערוך יש לומר שהוא תלמיד מצטיין)
)וכמו שכבר נכתב כאן תמשיך לפונקציות, ספריות, OOP(תכנות מונחה עצמים)
-
תודה על הפידבקים
אני מצרף עוד שלוש סקריפטים לטיפול בקבצי pdf
1 מצמיד דפים
לפעמים רוצים להדפיס כמה עמודי pdf על דף אחד ואתה רוצה להצמיד לגמרי (ברוב המדפסות או דרך אקרובט לא שייך להצמיד לגמרי)
(צריך שכל העמודים יהיו אותו גודל)
אתה פשוט מריץ את הסקריפט והוא שואל אותך כמה עמודים אתה רוצה בטור וכמה בשורה ומייצר קובץ עם דפים מוצמדים
2 מכפיל ומצמיד
שימושי עם אתה רוצה להדפיס דף מסוים הרבה פעמים על אותו דף במקום להכפיל את הדף הרבה פעמים פשוט אתה מריץ את הסקריפט וכנ"ל
לי אשית זה מאוד שימושי
3 חוצה דפים
מזהה דפים שהרוחב יותר גדול מהגובה וחוצה אותם לשתים
שימושי מאוד לסריקות ספרים וכדו' שסורקים בדרך כלל שתי עמודים בבת אחת
בגדול עובד מצוין לפעמים בטעות מזהה את הגובה בתור רוחב ואת הרוחב בתור גובההבאגים שיש לי (אשמח עם התלמידי חכמים שפה יעזרו לי)
1 הסקריפט לא מסתדר עם דפים רקים עם יש באמצע הקובץ דפים רקים, הסקריפט נופל
2 הסקריפט משאיר לכלוך שמחוץ לדף, כלומר הסקריפט עובד בצורה שהיא מזהה את הגודל של העמוד ומיצרת לך משטח בגודל של כל העמודים שאתה רוצה להניח במשטח ומניחה אותם לפי הסדר שקבעתי, והבעיה היא אם לדוגמא אני לוקח קובץ וורד ושם עיגול שחציו בתוך הדף וחציו מחוץ לדף ושומר pdf, אז במקומות מסוימים אני יראה את כל העיגול (במקרה שלא יהיה דף מעליו)צירפתי אותם בקובץ זיפ
צריך להתקין קודם ספריית PyPDF3
pdf טיפול.zip -
@סתם-יהודי
הבסיס העיקרי והראשוני שלי זה סרטוני הדרכה של אלעד פלג מצו"ב קישור לדרייב
https://drive.google.com/drive/folders/1eI-Ug4EIvnkTIdIkRH0UaQy_ciGBBNHC?usp=drive_linkאח''כ המשכתי ברשתרק
ואחרי זה מדריכים באינטרנט בדרך כלל אני כותב בעברית מה שאני רוצה לבצע מתרגם לאנגלית ומחפש ומרתגם חזרה כך אני מגיע ליותר תוצאות -
-
@בן-מאיר כתב בהצעת ייעול | הסקריפטים הראשונים שלי בפייתון:
סידור שירים לרמקול
לא יודע כמה זה שימושי אבל לי אישית זה מאוד עזר
כשמחברים דיסק אונקי מלא בשירים לרמקול ורוצים לדפדף עם השלט (בשלט עם מספרים) בשירים לבחרו שיר מסוים וכו' נתקלים בכמה תקלות
א לא יודעים איזה מספר השיר
ב אפשר לדפדף תיקיה תיקיה אבל אני לא יכול לדפדף למספר תיקיה מסוימת כלומר עם יש לך עשרות תיקיות בדיסק אונקי אתה צריך לדפדף תיקיה תיקיה וכוהוראות שימוש
אתה מפעיל את הסקריפט אתה מזין את נתיב הקובץ של התיקיה הראשית של השירים שאתה רוצה להעביר לדיסק אונקי
ונוצר לך בתיקיה של הסקריפט תיקיה בשם קבצים עם כל השירים בתיקיה אחת ממוספרים לפי הסדר שהם היו בתיקיה שבחרת וגם נוצר לך קובץ בשם קטלוג שירים שמה מופיע לך שמות של כל השירים מסודרים לפי שהם היו בתיקיה וגם מספר סידורי לכל קובץ
כעת תעתיקו את התיקיה לדיסק אונקי עדיף ריק ותבחרו מהקטלוג איזה שיר אתם רוצים לשמוע תקישו את המספר סידורי של השיר והאזנה נעימהלא מספיק הבנתי מה הוא עושה.. מעתיק פשוט את התיקייה פעמיים??
-
@בן-מאיר הנה דוגמה לקוד שמבצע את אותה פעולה של הסקריפט של לוח שנה שלך. אך באמצעות חלוקה לפונקציות, וכן שימוש בגישה מונחית עצמים, הלוגיקה של התוכנית נעשית הרבה יותר מובנת והתוכנית קלה יותר לקריאה.
אגב, השתמשתי גם ב"העמסת אופרטרים", כלומר שאפשר יהיה לעשות על האובייקט של MoladTime פעולות כמו חיבור וכפל, דבר שהשתמשתי בו הרבה בהמשך.
דבר נוסף שהתאמצתי לעשות הוא שלא יהיו "מספרי קסם" כלומר מספר בלי הסבר, אלא כל מספר שהיה בו צורך השתדלתי לתת לו שם קבוע, מקובל לעשות זאת באותיות גדולות דווקא.
הנה הקובץ: kidushHachodesh.zip -
@סתם-יהודי כתב בהצעת ייעול | הסקריפטים הראשונים שלי בפייתון:
ב"משולשים" שלך למה צריך את שורת "type" ואת "print q" זו אותה תוצאה בלעדיהם?
צודק לא צריך אותם
תוך כדי שאני כותב אני כותב גם הדפסות כדי לבדוק אם כתבתי נכון ואחרי זה מוחק אותם
ופשוט שכחתי למחוק -
@פלדה כתב בהצעת ייעול | הסקריפטים הראשונים שלי בפייתון:
@בן-מאיר כתב בהצעת ייעול | הסקריפטים הראשונים שלי בפייתון:
סידור שירים לרמקול
לא יודע כמה זה שימושי אבל לי אישית זה מאוד עזר
כשמחברים דיסק אונקי מלא בשירים לרמקול ורוצים לדפדף עם השלט (בשלט עם מספרים) בשירים לבחרו שיר מסוים וכו' נתקלים בכמה תקלות
א לא יודעים איזה מספר השיר
ב אפשר לדפדף תיקיה תיקיה אבל אני לא יכול לדפדף למספר תיקיה מסוימת כלומר עם יש לך עשרות תיקיות בדיסק אונקי אתה צריך לדפדף תיקיה תיקיה וכוהוראות שימוש
אתה מפעיל את הסקריפט אתה מזין את נתיב הקובץ של התיקיה הראשית של השירים שאתה רוצה להעביר לדיסק אונקי
ונוצר לך בתיקיה של הסקריפט תיקיה בשם קבצים עם כל השירים בתיקיה אחת ממוספרים לפי הסדר שהם היו בתיקיה שבחרת וגם נוצר לך קובץ בשם קטלוג שירים שמה מופיע לך שמות של כל השירים מסודרים לפי שהם היו בתיקיה וגם מספר סידורי לכל קובץ
כעת תעתיקו את התיקיה לדיסק אונקי עדיף ריק ותבחרו מהקטלוג איזה שיר אתם רוצים לשמוע תקישו את המספר סידורי של השיר והאזנה נעימהלא מספיק הבנתי מה הוא עושה.. מעתיק פשוט את התיקייה פעמיים??
הוא קורא את כח העץ תיקייות כלומר גם את התיקיה וגם את תתי התיקיות שבתוכו ומעתיק את כל הקבצים לתיקיה אחת ומוסיף לפני קובץ סדר מספרים רץ לפי הסדר שקיים בקובץ כך שאתה יכול לבחור את השיר ברמקול לפי המספר שמוביא בקובץ
-
@sivan22 כתב בהצעת ייעול | הסקריפטים הראשונים שלי בפייתון:
@בן-מאיר הנה דוגמה לקוד שמבצע את אותה פעולה של הסקריפט של לוח שנה שלך. אך באמצעות חלוקה לפונקציות, וכן שימוש בגישה מונחית עצמים, הלוגיקה של התוכנית נעשית הרבה יותר מובנת והתוכנית קלה יותר לקריאה.
אגב, השתמשתי גם ב"העמסת אופרטרים", כלומר שאפשר יהיה לעשות על האובייקט של MoladTime פעולות כמו חיבור וכפל, דבר שהשתמשתי בו הרבה בהמשך.
דבר נוסף שהתאמצתי לעשות הוא שלא יהיו "מספרי קסם" כלומר מספר בלי הסבר, אלא כל מספר שהיה בו צורך השתדלתי לתת לו שם קבוע, מקובל לעשות זאת באותיות גדולות דווקא.
הנה הקובץ: kidushHachodesh.zipתודה רבה אני יצטרך לעבור על זה במתינות
אגב לאורך כל הדרך אני עדיין לא כל כך יודע איך עובדים עם פונקציות ובעיקר איך לבנות פונקציות
וגם למה זה חשוב (לביינתיים אני מסתדר כל כך יפה בלי זה)
אשמח עם תוכל להפנות אותי למדריכים המתאימים -
@בן-מאיר פונקציות זה חשוב מאד מכמה היבטים, אפשר לומר שבמקרים של קוד שמתחיל להתארך זה הכרחי. היתרונות הברורים: חלוקה ברורה של הקוד לחלקים, וכן שימוש חוזר. זאת אומרת שלא צריך לכתוב שוב ושוב את אותו קוד אלא קוראים לקוד מוכן.
פונקציה זה דבר פשוט, זה קטע קוד שקוראים לו כדי לבצע פעולה מוגדרת. אפשר גם לשלוח לו נתונים מסויימים, וגם לקבל נתונים בחזרה, אבל אין חובה.
בפייתון מגדירים פונקציה באמצעות המילה def, בסוגריים כותבים איזה נתונים נשלחים אל הפונקציה, ולאחר החץ איזה נתונים חוזרים ממנה.
דוגמה: נגדיר פונקציה פשוטה שלוקחת שני מספרים ומחברת אותם:def add(a,b) -> int: return a+b
לאחר מכן אנחנו קוראים לפונקציה:
c = add(5+4)
כלל אצבע שנוגע לפונקציות: כל קטע קוד שמבצע משימה אחת ספציפית, מתאים להיות פונקציה.
ואידך זיל גמור.
כשתכתוב סקריפטים יותר ארוכים, ועוד יותר מזה כשתחזור לקרוא אותם בעוד כמה חודשים תבין טוב מאד למה חייבים לתעד לתעד! וגם למה פונקציות כל כך שימושיות.
תכנות מונחה עצמים זה פרדיגמה עוד יותר עוצמתית, שהופכת את הקוד ממש לאובייקטים ממשיים, שיש להם תכונות ופונקציות שאפשר לקרוא להם, שווה מאד להבין וליישם את השיטה הזו!
פשוט תתקדם עם הקורסים שאתה לוקח בפייתון, בוודאי תיתקל בפונקציות, ובהמשך כנראה גם במחלקות (המימוש של עצמים).
במובן מסויים התפיסה של איך לבנות ולסדר קוד, חשובה לא פחות מהכרת השפה ויצירת הלוגיקה המתאימה.
-
עוד סקריפט אחד אני מעלה ודי
סקריפט שמפצל רשימת אקסל לכרטיסיות לפי פרמרטר לבחירהאני לא יודע איזה ספריות צריכים להתקין בשביל להריץ את הסקריפט
אצלי בבית זה עובד מכיון שאני עובד עם Anaconda ושם כנראה מותקן הספריות המתאימות
ניסיתי לעשות במחשב אחר pip install לכל הספריות המיובאות בסקריפט אבל זה לא עזר
אשמח עם מישהו יכתוב לי איזה ספריות אני צריך להתקין שזה יעבוד
pitzul_xl_lekatisiot.py -
הבסיס העיקרי והראשוני שלי זה סרטוני הדרכה של אלעד פלג מצו"ב קישור לדרייב
https://drive.google.com/drive/folders/1eI-Ug4EIvnkTIdIkRH0UaQy_ciGBBNHC?usp=drive_linkאח''כ המשכתי ברשתרק
ואחרי זה מדריכים באינטרנט בדרך כלל אני כותב בעברית מה שאני רוצה לבצע מתרגם לאנגלית ומחפש ומרתגם חזרה כך אני מגיע ליותר תוצאות
לדעתי חשוב לא לקפוץ שלבים, ללמוד לפי הסדר
אני קפצתי שלבים ויש לי הרבה חורים