import random
import os
MEMBERS_FILE = "members.txt"
def load_members():
if not os.path.exists(MEMBERS_FILE):
return {"members": [], "winners": set()}
members_data = {"members": [], "winners": set()}
with open(MEMBERS_FILE, "r", encoding="utf-8") as f:
lines = f.readlines()
for line in lines:
parts = line.strip().split(":")
if len(parts) == 2:
name = parts[0]
is_winner = parts[1] == "True"
members_data["members"].append(name)
if is_winner:
members_data["winners"].add(name)
return members_data
def save_members(data):
with open(MEMBERS_FILE, "w", encoding="utf-8") as f:
for member in data["members"]:
is_winner = member in data["winners"]
f.write(f"{member}:{is_winner}\n")
def add_member(data):
name = input("نام عضوی که میخواهید اضافه کنید: ")
if name not in data["members"]:
data["members"].append(name)
save_members(data)
print(f"'{name}' با موفقیت اضافه شد.")
else:
print(f"'{name}' قبلاً در لیست اعضا وجود دارد.")
def remove_member(data):
name = input("نام عضوی که میخواهید حذف کنید: ")
if name in data["members"]:
data["members"].remove(name)
if name in data["winners"]:
data["winners"].remove(name)
save_members(data)
print(f"'{name}' با موفقیت حذف شد.")
else:
print(f"'{name}' در لیست اعضا یافت نشد.")
def select_winner(data):
available_members = [m for m in data["members"] if m not in data["winners"]]
if not available_members:
print("هیچ عضوی برای قرعهکشی باقی نمانده است!")
return
winner = random.choice(available_members)
data["winners"].add(winner)
save_members(data)
print(f"برنده این دوره: {winner}")
def display_menu():
print("\n--- منوی صندوق قرعهکشی ---")
print("1. اضافه کردن عضو")
print("2. حذف عضو")
print("3. انتخاب برنده")
print("4. نمایش اعضا و برندگان")
print("5. خروج")
def display_members_and_winners(data):
print("\n--- لیست اعضا و وضعیت برنده شدن ---")
if not data["members"]:
print("هیچ عضوی در سیستم ثبت نشده است.")
return
for member in data["members"]:
status = "برنده شده" if member in data["winners"] else "برنده نشده"
print(f"- {member} ({status})")
def main():
member_data = load_members()
while True:
display_menu()
choice = input("لطفاً گزینه مورد نظر را انتخاب کنید: ")
if choice == '1':
add_member(member_data)
elif choice == '2':
remove_member(member_data)
elif choice == '3':
select_winner(member_data)
elif choice == '4':
display_members_and_winners(member_data)
elif choice == '5':
print("برنامه در حال بسته شدن است. اطلاعات ذخیره شد.")
break
else:
print("گزینه نامعتبر است. لطفاً دوباره امتحان کنید.")
if name == "main":
main()