eitaa logo
آموزش پایتون
62 دنبال‌کننده
244 عکس
106 ویدیو
52 فایل
ارتباط: https://eitaa.com/joinchat/956171922Cb501d5a32f لینک همین کانال: @LearnPythonIcy لینک کانال تلگرام: https://t.me/learnpythonicy
مشاهده در ایتا
دانلود
تحلیل کد بالا در پایتون تاپل ها را می‌توان مقایسه کرد. مقایسه از چپ به راست انجام می‌شود؛ به این صورت که ابتدا عدد اول را مقایسه میکند: 👈اگر عدد اول Tuple1 از عدد اول Touple2 کوچکتر باشد، مقدار False را برمی‌گرداند. 👈اگر عدد اول Tuple1 از عدد اول Touple2 بزرگتر باشد، مقدار True را برمی‌گرداند. 👈اگر عدد اول Tuple1 با عدد اول Touple2 برابر باشد، به مقایسه ی عدد بعدی می‌پردازد... | | آموزش پایتون
یافتن اشتراک و تفاوت های دو تاپل
🔆تفاوت و اشتراک در تاپل مگه تاپل ها غیرقابل تغییر نیستند؟ پس چطوری میشه تفاوت و اشتراک هاشون و پیدا کرد؟؟ یکی از راه ها برای یافتن اشتراک و تفاوت های دو تاپل تبدیل آنها به set و استفاده از دستورات intersectionو difference می‌باشد. فرض کنید دو تاپل داریم: tuple1 = (1, 2, 3, 4, 5) tuple2 = (4, 5, 6, 7, 8) 🔅یافتن اشتراک برای یافتن عناصر مشترک بین دو تاپل، می‌توانید از تبدیل هر کدام به مجموعه (Set) استفاده کنید، زیرا مجموعه‌ها عملیات‌های جستجو و اشتراک را سریع‌تر انجام می‌دهند: tuple1 = (1, 2, 3, 4, 5) tuple2 = (4, 5, 6, 7, 8) # تبدیل تاپل‌ها به مجموعه و پیدا کردن اشتراک intersection = set(tuple1) & set(tuple2) print("intersection=", intersection) : ={4, 5} 🔅یافتن تفاوت برای یافتن عناصر موجود در یک تاپل که در تاپل دیگر وجود ندارند، می‌توانید از عملگر تفاوت (difference) استفاده کنید: # تفاوت بین تاپل ۱ و ۲ difference1 = set(tuple1) - set(tuple2) difference2 = set(tuple2) - set(tuple1) print(" differences between tuple1, tuple2:", difference1) print(" differences between Touple2, tuple1:", difference2) : between tuple1, tuple2: {1, 2, 3} between Touple2, tuple1: {8, 6, 7} 🔗توجه: این روش فقط برای عناصر قابل مقایسه (مثل اعداد، رشته‌ها و ...) قابل استفاده است. اگر عناصر تاپل‌ها شامل نوع داده‌های پیچیده‌تری باشند، باید روش‌های دیگری مد نظر قرار گیرد.
نمایش نمودار دایره‌ای با استفاده از matplotlib در پایتون
🔆ساخت نمودار دایره‌ای با matplotlib در اینجا گام به گام رسم یک نمودار دایره ای توضیح داده شده است. 🔅گام 1: نصب matplotlib اگر تا به حال آن را نصب نکرده اید، می‌توانید برای نصب آن دستور زیر را در command prompt تایپ کنید. pip install matplotlib 🔅گام 2: ساخت یک نمودار دایره ای 👇مثال
import matplotlib.pyplot as plt

# Data to plot
labels = ['Python', 'Java', 'C++', 'Ruby']
sizes = [45, 30, 15, 10]  # Corresponding sizes for each label
colors = ['gold', 'lightcoral', 'lightskyblue', 'lightgreen']  # Colors for each slice
explode = (0.1, 0, 0, 0)  # explode 1st slice (i.e. 'Python')

# Create a pie chart
plt.figure(figsize=(8, 8))  # Set the figure size
plt.pie(sizes, explode=explode, labels=labels, colors=colors,
        autopct='%1.1f%%', shadow=True, startangle=140)

plt.axis('equal')  # Equal aspect ratio ensures that pie chart is a circle.

# Title
plt.title('Programming Language Usage')

# Show the plot
plt.show()
🟣توضیح کد 1. وارد کردن Matplotlib: با استفاده از import matplotlib.pyplot as plt ما ماژول مورد نیاز برای رسم نمودار را وارد می‌کنیم. 2. آماده‌سازی داده‌ها: - labels: یک لیست از رشته‌ها است که نمایانگر برچسب‌های هر بخش دایره است. - sizes: یک لیست از مقادیر است که اندازه هر بخش دایره را نشان می‌دهد. - colors: یک لیست از رنگ‌ها برای هر بخش. - explode: برای بیرون آوردن یک بخش از دایره استفاده می‌شود؛ در اینجا، بخش اول (Python) به بیرون آورده شده است. 3. ایجاد نمودار دایره‌ای: - توابع plt.pie() برای رسم نمودار دایره‌ای استفاده می‌شود و پارامترهای مختلفی شامل sizes، explode، labels، colors و گزینه‌های مختلفی برای زیباسازی مانند autopct برای نشان دادن درصد روی بخش‌های دایره دارد. 4. نسبت نابرابر: plt.axis('equal') اطمینان حاصل می‌کند که نمودار دایره‌ای به صورت کامل نمایش داده می‌شود. 5. عنوان و نمایش نمودار: با استفاده از plt.title() یک عنوان برای نمودار تنظیم می‌کنیم و با plt.show() نمودار را نمایش می‌دهیم. 🔗توجه: این یک مثال ساده از نمودار دایره‌ای است. شما می‌توانید آن را با تنظیم پارامترهایی مانند shadow، startangle و استفاده از طرح‌های رنگی مختلف سفارشی کنید.
import matplotlib.pyplot as plt
import numpy as np


def midpoints(x):
    sl = ()
    for _ in range(x.ndim):
        x = (x[sl + np.index_exp[:-1]] + x[sl + np.index_exp[1:]]) / 2.0
        sl += np.index_exp[:]
    return x

# prepare some coordinates, and attach rgb values to each
r, g, b = np.indices((17, 17, 17)) / 16.0
rc = midpoints(r)
gc = midpoints(g)
bc = midpoints(b)

# define a sphere about [0.5, 0.5, 0.5]
sphere = (rc - 0.5)**2 + (gc - 0.5)**2 + (bc - 0.5)**2 < 0.5**2

# combine the color components
colors = np.zeros(sphere.shape + (3,))
colors[..., 0] = rc
colors[..., 1] = gc
colors[..., 2] = bc

# and plot everything
ax = plt.figure().add_subplot(projection='3d')

ax.voxels(r, g, b, sphere,
          facecolors=colors,
          edgecolors=np.clip(2*colors - 0.5, 0, 1),  # brighter
          linewidth=0.5)

ax.set(xlabel='r', ylabel='g', zlabel='b')

ax.set_aspect('equal')


plt.show(
)
Intertools Module 3 ترفند با itertools امروز ما به چندین عملکرد از یک ماژول نسبتا مفید نگاه خواهیم کرد که به شما امکان می دهد به طور مؤثر با اشیاء تکرار شونده کار کنید. بیایید با یک تابع بسیار ساده شروع کنیم. تابع accumulate کمی شبیه به reduce است، اما به جای اینکه یک مقدار نهایی به شما بدهد، به طور متوالی تابع مشخص شده در آرگومان دوم (در اینجا min) را به هر عنصر بعدی اعمال می‌کند: min(45), min(2, 53), min(2,12) و به همین ترتیب هربار مقایسه می‌شود و مقدار min را برمی‌گرداند و با عدد بعدی مقایسه می‌کند. برای ایجاد ترکیب‌ها از عناصر یک شئ تکرار شونده انتخاب شده، به تابع combinations نیاز خواهید داشت. آرگومان دوم می‌تواند برای مشخص کردن طول این ترکیب استفاده شود. تابع chain به شما این امکان را می‌دهد که چندین عنصر تکرار شونده را به یکدیگر "چسبانده" و به عنوان یک دنباله واحد استفاده کنید.
Stack استفاده از لیست ها به عنوان پشته پشته یک نوع داده انتزاعی است که لیستی از عناصر سازماندهی شده بر اساس اصل LIFO (آخرین ورود – اولین خروج) است. (هرکی دیرتر اومده زودتر خارج میشه) لیست ها در پایتون دارای روش های داخلی مناسبی هستند که برای پیاده سازی چنین ساختار داده ای کافی هستند. برای اضافه کردن یک عنصر به انتهای پشته، از روش append و برای حذف آن از روش pop استفاده کنید. نمای برنامه پشته برای عبور از ساختارهایی مانند نمودارها و درختان استفاده می شود. هنگام پیاده سازی توابع بازگشتی، یک پشته نیز استفاده می شود، اما در این مورد از قبل به شکل سخت افزاری خواهد بود.
Tic-Tac-Toe Game In Python 🤩کی دوز بازی دوست داره؟ |
import tkinter as tk from tkinter import messagebox # Initialize the main window root = tk.Tk() root.title("Tic-Tac-Toe") root.configure(bg='lightblue') # Set background color # Variables to store the state of the game board = [' ' for _ in range(9)] player = 'X' scores = {'X': 0, 'O': 0} # Function to update the button text and board state def update_board(index, button): global player if board[index] == ' ': board[index] = player button.config(text=player, fg='blue' if player == 'X' else 'green', bg='white') if check_win(): messagebox.showinfo("Tic-Tac-Toe", f"Player {player} wins!") scores[player] += 1 reset_board() elif ' ' not in board: messagebox.showinfo("Tic-Tac-Toe", "No winner!") reset_board() else: player = 'O' if player == 'X' else 'X' # Function to check for a win def check_win(): win_conditions = [ (0, 1, 2), (3, 4, 5), (6, 7, 8), # Rows (0, 3, 6), (1, 4, 7), (2, 5, 8), # Columns (0, 4, 8), (2, 4, 6) # Diagonals ] for i, j, k in win_conditions: if board[i] == board[j] == board[k] != ' ': return True return False # Function to reset the board def reset_board(): global board, player board = [' ' for _ in range(9)] player = 'X' for button in buttons: button.config(text='', bg='lightgrey') # Function to show the scores when closing the game def on_closing(): messagebox.showinfo("Scores", f"Player X: {scores['X']} wins\nPlayer O: {scores['O']} wins") root.destroy() # Create buttons for the Tic-Tac-Toe board buttons = [] for i in range(9): button = tk.Button(root, text=' ', width=10, height=5, bg='lightgrey', command=lambda i=i: update_board(i, buttons[i])) button.grid(row=i//3, column=i%3, padx=5, pady=5) # Add padding for better spacing buttons.append(button) # Bind the closing event to the on_closing function root.protocol("WM_DELETE_WINDOW", on_closing) # Run the main loop root.mainloop() | | آموزش پایتون