مرحله اول: دانلود برنامه pydroid 3 و pydroid plugin از مایکت یا بازار یا اپ استور
مرحله دوم: وارد شدن و استارت آپ کردن برنامه pydroid 3
مرحله سوم: رفتن به قسمت pip و دانلود کتابخانه های tkinter و pillow
مرحله چهارم: کپی پیست کردن کد زیر در برنامه
------------------------------------------------------------------------
import tkinter as tk
from tkinter import messagebox
from PIL import Image, ImageTk # برای مدیریت تصاویر
import time
# متغیر برای ذخیره حالت راه رفتن یا دویدن
walking = False
running = False
steps = 0
# تابع برای تحلیل دادههای ورودی (تحلیل کالری و گامها)
def analyze_data():
try:
age = int(age_entry.get())
calories = int(calories_entry.get())
steps = int(steps_entry.get())
if age >= 2 and age <= 4:
if 1000 <= calories <= 1400 and steps >= 20:
messagebox.showinfo("نتیجه تحلیل", "متود روزانه شما مناسب است")
else:
messagebox.showinfo("نتیجه تحلیل", "تعداد گامها بیشتر یا کالری کمتر شود. پیشنهاد: استفاده از تغذیه مناسب برای بهبود وضعیت سلامتی.")
elif age >= 5 and age <= 8:
if 1200 <= calories <= 1900 and steps >= 2000:
messagebox.showinfo("نتیجه تحلیل", "متود روزانه شما مناسب است")
else:
messagebox.showinfo("نتیجه تحلیل", "بازی و فعالیت فیزیکی روزانه: حداقل 60 دقیقه بازیهای فعال.")
elif age >= 9 and age <= 13:
if 1400 <= calories <= 2400 and steps >= 6000:
messagebox.showinfo("نتیجه تحلیل", "متود روزانه شما مناسب است")
else:
messagebox.showinfo("نتیجه تحلیل", "فعالیت فیزیکی و تغذیه متعادل توصیه میشود.")
elif age >= 14 and age <= 18:
if 1800 <= calories <= 2800 and steps >= 10000:
messagebox.showinfo("نتیجه تحلیل", "متود روزانه شما مناسب است")
else:
messagebox.showinfo("نتیجه تحلیل", "ورزش منظم و تغذیه مناسب برای رشد توصیه میشود.")
elif age > 18:
if 3000 <= calories <= 3800 and steps >= 7300:
messagebox.showinfo("نتیجه تحلیل", "متود روزانه شما مناسب است")
else:
messagebox.showinfo("نتیجه تحلیل", "ورزش منظم و تغذیه سالم را در برنامه خود بگنجانید.")
else:
messagebox.showerror("خطا", "لطفا اطلاعات معتبر وارد کنید.")
except ValueError:
messagebox.showerror("خطا", "لطفا مقادیر معتبر وارد کنید.")
# تابع برای اضافه کردن قدم
def update_steps(interval):
global steps
if walking or running:
steps += 1
steps_entry.delete(0, tk.END)
steps_entry.insert(0, str(steps))
root.after(interval, update_steps, interval)
# تابع شروع راه رفتن
def start_walking():
global walking, running
walking = True
running = False
update_steps(500) # هر 500 میلیثانیه یک قدم
# تابع شروع دویدن
def start_running():
global walking, running
walking = False
running = True
update_steps(250) # هر 250 میلیثانیه یک قدم
# تابع برای توقف حرکت
def stop_movement():
global walking, running
walking = False
running = False
# تابع برای محاسبه و تحلیل ساعات خواب
def analyze_sleep():
try:
sleep_start = int(sleep_start_entry.get())
wake_up = int(wake_up_entry.get())
age = int(age_entry.get())
# محاسبه ساعات خواب
sleep_duration = wake_up - sleep_start if wake_up >= sleep_start else (24 - sleep_start + wake_up)
if age >= 3 and age <= 4:
if 10 <= sleep_duration <= 13:
messagebox.showinfo("نتیجه تحلیل خواب", "متود خواب شما مناسب است")
else:
messagebox.showinfo("نتیجه تحلیل خواب", "ساعات خواب بیشتر شود و به 10 الی 13 ساعت برسد.")
elif age >= 5 and age <= 12:
if 9 <= sleep_duration <= 11:
messagebox.showinfo("نتیجه تحلیل خواب", "متود خواب شما مناسب است")
else:
messagebox.showinfo("نتیجه تحلیل خواب", "ساعات خواب بیشتر شود و به 9 الی 11 ساعت برسد.")
elif age >= 13 and age <= 18:
if 8 <= sleep_duration <= 10:
messagebox.showinfo("نتیجه تحلیل خواب", "متود خواب شما مناسب است")
else:
messagebox.showinfo("نتیجه تحلیل خواب", "ساعات خواب بیشتر شود و به 8 الی 10 ساعت برسد.")
elif age > 18:
if 7 <= sleep_duration <= 9:
messagebox.showinfo("نتیجه تحلیل خواب", "متود خواب شما مناسب است")
else:
messagebox.showinfo("نتیجه تحلیل خواب", "ساعات خواب بیشتر شود و به 7 الی 9 ساعت برسد.")
else:
messagebox.showerror("خطا", "لطفا اطلاعات معتبر وارد کنید.")
except ValueError:
messagebox.showerror("خطا", "لطفا مقادیر معتبر وارد کنید.")
# تابع برای محاسبه BMI
def calculate_bmi():
try:
weight = float(weight_entry.get())
height = float(height_entry.get()) / 100 # تبدیل به متر
bmi = weight / (height ** 2)
messagebox.showinfo("BMI شما", f"BMI شما برابر است با: {bmi:.2f}")
except ValueError:
messagebox.showerror("خطا", "لطفا مقادیر معتبر وارد کنید.")
# ایجاد پنجره اصلی
root = tk.Tk()
root.title("BLST: Best Life Style Trainer")
root.geometry("500x600") # تنظیم سایز پنجره
# بارگذاری تصویر پسزمینه
bg_image = Image.open("unnamed.png") # مطمئن شوید تصویر در همان دایرکتوری قرار دارد
bg_photo = ImageTk.PhotoImage(bg_image)
# ایجاد Canvas و نمایش تصویر پسزمینه
canvas = tk.Canvas(root, width=500, height=600)
canvas.pack(fill="both", expand=True)
canvas.create_image(0, 0, image=bg_photo, anchor="nw")
# افزودن ویجتها به Canvas
canvas.create_text(250, 30, text="BLST: Best Life Style Trainer", font=("Helvetica", 16), fill="white")
# افزودن فیلدهای ورودی و دکمهها به Canvas
canvas.create_text(100, 80, text="جنسیت (مرد/زن):", fill="black")
gender_entry = tk.Entry(root)
canvas.create_window(300, 80, window=gender_entry)
canvas.create_text(100, 120, text="سن:", fill="black")
age_entry = tk.Entry(root)
canvas.create_window(300, 120, window=age_entry)
canvas.create_text(100, 160, text="کالریهای مصرفی در روز:", fill="black")
calories_entry = tk.Entry(root)
canvas.create_window(300, 160, window=calories_entry)
canvas.create_text(100, 200, text="تعداد گامها:", fill="black")
steps_entry = tk.Entry(root)
canvas.create_window(300, 200, window=steps_entry)
# دکمه تحلیل سلامتی
analyze_button = tk.Button(root, text="تحلیل سلامتی", command=analyze_data)
canvas.create_window(250, 240, window=analyze_button)
# دکمههای راه رفتن و دویدن
walk_button = tk.Button(root, text="راه رفتن", command=start_walking)
canvas.create_window(150, 280, window=walk_button)
run_button = tk.Button(root, text="دویدن", command=start_running)
canvas.create_window(350, 280, window=run_button)
# دکمه توقف حرکت
stop_button = tk.Button(root, text="توقف", command=stop_movement)
canvas.create_window(250, 320, window=stop_button)
# فیلدهای ورودی برای تحلیل خواب
canvas.create_text(100, 360, text="ساعت خواب (0-24):", fill="black")
sleep_start_entry = tk.Entry(root)
canvas.create_window(300, 360, window=sleep_start_entry)
canvas.create_text(100, 400, text="ساعت بیداری (0-24):", fill="black")
wake_up_entry = tk.Entry(root)
canvas.create_window(300, 400, window=wake_up_entry)
# دکمه تحلیل خواب
analyze_sleep_button = tk.Button(root, text="تحلیل خواب", command=analyze_sleep)
canvas.create_window(250, 440, window=analyze_sleep_button)
# فیلدهای ورودی برای محاسبه BMI
canvas.create_text(100, 480, text="قد (سانتیمتر):", fill="black")
height_entry = tk.Entry(root)
canvas.create_window(300, 480, window=height_entry)
canvas.create_text(100, 520, text="وزن (کیلوگرم):", fill="black")
weight_entry = tk.Entry(root)
canvas.create_window(300, 520, window=weight_entry)
# دکمه محاسبه BMI
bmi_button = tk.Button(root, text="محاسبه BMI", command=calculate_bmi)
canvas.create_window(250, 560, window=bmi_button)
# اجرای برنامه
root.mainloop()
------------------------------------------------------------------------
همیشه سلامت باشید.