ערוץ - python tip israel
رفتن به کانال در Telegram
1 792
مشترکین
اطلاعاتی وجود ندارد24 ساعت
اطلاعاتی وجود ندارد7 روز
اطلاعاتی وجود ندارد30 روز
آرشیو پست ها
הבוט נפתח שוב אם כמה שיפורים כל הטקסט שישלח ישמר ואם תשלחו את אותה הודעה שוב תקבלו את אותה תשובה כדי להקל על הapi ועוד כמה שיפורים בתשובות... כרגע עובד על פיטצר נוסף להוספת בדיקת קישורים בוירוס טוטאל
https://t.me/PhishBlockerbot
שתי התשובות ששלחו לי היו נכונות 😉
@davidbrami411
@yehudalev
Code
נגדיר משתנה לא משנה השם שלו פשוט אותיות באנגלית ואז שווה לסטרינג אפשר כמובן גם מספר ללא גרשיים או מספר עישרוני
name = "yehuda"ואז נכתוב print ובתוך הסוגריים את השם של המשתנה
print(name)Output
yehuda
לביינתים קיבלתי רק שתי תשובות אני עוד מעט יפרסם את התשובות שלחו פה @Python_tipbot
הטקסט מפרסם גרסת בטא של בוט זיהוי דיוג. זה מורה למשתמשים לשלוח טקסט לקבל תגובה אם זה דיוג או לא. הטקסט מספק גם קישור למשתמשים לבחון את ה- BOT ומזכיר שיש מגבלת הודעות של שתי דקות. השולח פתוח למשוב ומזכיר שהיו כמה תקלות קלות שנפתרו.😂😂🤣🤣
לכל החברים הבוט לזיהוי פישינג פתוח בגירסאת בטא
לכמה שעות פשוט שלחו טקסט והבוט יחזיר לכם תשובה האם זה פישינג או לא עדיין לא הכי מדויק אבל עובד יפה דרך אגב יש הגבלה להודעה ל2 דקות אז קחו בחשבון
לבדיקה למי שרוצה https://t.me/PhishBlockerbot
זה יעבוד עד שעה 12 אשמח לשמוע ממכם הצעות שיפור
היה כמה תקלות קטנות ועכשיו הוא עובד רגיל
לכל חברי הערוץ היקרים!
עקב יום הזיכרון לחללי מערכות ישראל ונפגעי פעולות האיבה
אף אנו מתייחסים לזכר הנופלים, שהגנו עלינו בגופם ממש, ונרצחי הטרור בארצינו הקטנטנה 🇮🇱
אי לכך, קבוצת התמיכה תיסגר החל מהצפירה הערב, ועד למחרת בצפירה
בתפילה שיפסקו אסונות מעם ישראל, ונזכור שאין לנו ארץ אחרת.
תודה על ההבנה,
איתכם תמיד
Python tip israel
הרובוט לשליחת התשובות
@Python_tipbot
מחכה לקבל תשובות אפשר להעזר בגוגל ובמדריכים ששלחתי
תרגיל הדפסה
רמה: קל
כיתבו תוכנית שתגדיר משתנה והדפיסו את תוכן המשתנה
את התרגיל שילחו ברובוט שיתן עוד מעט
לאחר מכן נפרסם את התוצאות
תודה לחברנו @dank3y על העצה מעכשיו נתחיל להעלות תרגילים כמו בקמפוס il אתם תצטרכו לענות עד שעה מסויימת ללא עזרה של gpt או כל כלי ai ולאחר כמה שעות נפרסם את הקוד ואיך הוא אמור להיראות כולל הסברים
password genrator
import tkinter as tk
from tkinter import messagebox
import secrets
import string
def password_generator():
password_strong = Stringvar.get()
passwod_length = entry_password.get()
if passwod_length.isdigit():
if password_strong == 'low':
charecters = string.ascii_letters
elif password_strong == 'medium':
charecters = string.ascii_letters + string.digits
elif password_strong == 'high':
charecters = string.ascii_letters + string.digits + string.punctuation
passwod_text = ''.join(secrets.choice(charecters) for _ in range(int(entry_password.get())))
entry_text_password.delete(0, tk.END)
entry_text_password.insert(0, passwod_text)
else:
messagebox.showerror(title='error', message='invalid length of password')
root = tk.Tk()
root.title('password simple generator')
root.geometry('400x200')
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
# set the window width and height
window_width = 400
window_height = 300
# calculate the x and y coordinates for the window
x = (screen_width - window_width) // 2
y = (screen_height - window_height) // 2
# set the window geometry
root.geometry(f"{window_width}x{window_height}+{x}+{y}")
Stringvar = tk.StringVar(value='low')
radio_low = tk.Radiobutton(root, text='low', variable=Stringvar, value='low')
radio_low.pack()
radio_medium = tk.Radiobutton(root, text='medium', variable=Stringvar, value='medium')
radio_medium.pack()
radio_high = tk.Radiobutton(root, text='high', variable=Stringvar, value='high')
radio_high.pack()
entry_lavel = tk.Label(root, text='length password:')
entry_lavel.pack()
entry_password = tk.Entry(root)
entry_password.insert(0, '12')
entry_password.pack()
entry_text = tk.Label(root, text='the password')
entry_text.pack()
entry_text_password = tk.Entry(root)
entry_text_password.pack()
button_generate = tk.Button(root, text='generate password', command=password_generator, font=('Ariel', 16))
button_generate.pack()
root.mainloop()
שיתוף קטן לאלא שעדיין לא מכירים את הכלי הזה
כלי לתיקון שגיאות אוטומטי בקודים משהו מטורף משתמש ב chatgpt רק להכניס api וזה עובד
https://github.com/biobootloader/wolverine
הבסיס של gui
כתבתי תוכנית קטנה שאם מכניסים טקסט התוכנית תדפיס אותה
בהמשך אשלח מידע מפורט על כל כפתור או אפשרות שקיימת
ניייבאת את tkinter כtk כדי שיהיה לנו יותר קל להשתמש בהמשך נייבא גם את messege box שהיא פונקציה שיוצרת חלונות כמו מידע אזהרה וכו
import tkinter as tk
from tkinter import messagebox
הגדרת החלון על ידי קריאה לפונקציה הראשי בתוך משתנה root (אפשר לכתוב כל מה שתרצו במקום אבל תצטרכו לוודא שבכל התוכנית אתם פונים לפונקציה בשם הזה)
root = tk.Tk()
הגדרת הכותרת
root.title("my text box popup")
window_height , window_width = 200, 400
screen_width, screen_height = root.winfo_screenwidth(), root.winfo_screenheight()
x_windows, y_windows= int((screen_width/2) - (window_width/2)), int((screen_height/2) - (window_height/2))
root.geometry(f"{window_width}x{window_height}+{x_windows}+{y_windows}")
יצירת חלון להקלדת טקסט
entry = tk.Entry(root, font=('Ariel', 20))
קריאה לכפתור כדי שיוצג הgui
entry.pack()
פונקציה שתופכל ברגע שהכפתור נלחץ
def button_clicked():
if len(entry.get()) > 0:
messagebox.showinfo(title='button click', message=entry.get())
else:
messagebox.showerror(title='error', message='please type some text')
button = tk.Button(root, text="print the text!", command=button_clicked)
button.pack()
הרצת התוכנית על ידי קריאה למשתנה הראשי רוט main loop אומר חכה למשתמש עד שיבצע פעולה
root.mainloop()
פונקציות
פונקציה היא גוש קוד שמבצע משימה מסוימת. פונקציות משמשות לפירוק תוכניות לחלקי קוד קטנים יותר וניתנים לניהול, ולארגון קוד למודולים הניתנים לשימוש חוזר.
כדי ליצור פונקציה ב-Python, אתה משתמש במילת המפתח
def ואחריה שם הפונקציה וקבוצת סוגריים. בתוך הסוגריים, אתה יכול לציין כל פרמטר שהפונקציה תיקח כקלט. לאחר מכן, הקוד של הפונקציה יוכנס להזחה מתחת למשפט 'def'.
הנה דוגמה לפונקציה שלוקחת שני פרמטרים ומחזירה את הסכום שלהם:
def add_numbers(a,b):
return a + b
בקוד זה, אנו מגדירים פונקציה בשם add_numbers שלוקחת שני פרמטרים, a ו-b. לאחר מכן הפונקציה מחזירה את הסכום של a ו-b.
כדי לקרוא לפונקציה ב- Python, פשוט כותבים את שם הפונקציה ואחריו שתי סוגריים המכילים ארגומנטים שהפונקציה מצפה להם. הנה דוגמה כיצד לקרוא לפונקציה 'add_numbers':
result = add_numbers(3, 5)
print(result) # Output: 8
בקוד זה, אנו קוראים לפונקציה add_numbers עם הארגומנטים 3 ו-5. הפונקציה מחזירה את הערך 8, אותו אנו מקצים לאחר מכן למשתנה result ומדפיסים למסוף.
לפונקציות יכולות להיות ערכי ברירת מחדל של פרמטרים, המשמשים אם לא מסופק ערך עבור פרמטר זה כאשר הפונקציה נקראת. הנה דוגמה לפונקציה עם ערך ברירת מחדל של פרמטר:
def greet(name="World"):
print("hello, " + name + "!")
בקוד זה, אנו מגדירים פונקציה בשם greet שלוקחת פרמטר אחד, name, כערך ברירת המחדל של "World". אם לא מסופק ערך עבור name בעת קריאה לפונקציה, ערך ברירת המחדל של "wrold" ישמש. להלן דוגמה כיצד לקרוא לפונקציית hello:
greet() # Output: Hello, World!
greet("Alice") # Output: Hello, Alice!
בקוד זה, אנו קוראים לפונקציה greet פעמיים. בפעם הראשונה, אנחנו לא מספקים ערך עבור name, ולכן נעשה שימוש בערך ברירת המחדל של "wrold". בפעם השנייה, אנו מספקים את הערך "Alice" עבור name, כך שהערך משמש במקום זאת.
פונקציות יכולות גם להחזיר ערכים מרובים ב-Python, שנארזים ב-tuple. הנה דוגמה לפונקציה שמחזירה שני ערכים:
def get_name_and_age():
name = input("What is your name? ")
age = int(input("What is your age? "))
return name, age
בקוד זה, אנו מגדירים פונקציה בשם get_name_and_age המבקשת מהמשתמש את שמו וגילו, ומחזירה את הערכים הללו כ-tuple. הנה דוגמה כיצד לקרוא לפונקציה 'get_name_and_age':
name, age = get_name_and_age()
print("Hello, " + name + "! You are " + str(age) + " years old.")
בקוד זה, אנו קוראים לפונקציה get_name_and_age ומקצים את הערכים המוחזרים למשתנים name וage. לאחר מכן אנו מדפיסים הודעה באמצעות המשתנים הללו.
לסיכום, פונקציות הן חלק חשוב בתכנות, ומאפשרות לך לפרק תוכניות לחלקי קוד קטנים יותר וניתנים לניהול, ולארגן קוד במודולים הניתנים לשימוש חוזר. באמצע התוכנית
דוגמא קלאסית מהממיר קבצים שלי
היייתי צריך פונקציה שתיקח נתיב של קובץ ותחתוך לי את השם של הקובץ ואת הסיומת של הקובץ הנה לפניכם הפונקציה שכתבתי
def split_path(path_split, splitter) -> str:
"""
Split a file path and return the extension or file name.
:param path_split: The file path to be split.
:param splitter: The splitter to be used. Either 'filename' to get the file name or 'ext' to get the extension.
:return: The file name or extension.
"""
if splitter == 'filename':
filename = os.path.basename(path_split)
return filename
elif splitter == 'ext':
extension = os.path.splitext(path_split)[-1].lower()[1:]
return extension
else:
raise ValueError(f"Invalid splitter '{splitter}'. Valid options are 'filename' or 'ext'.")