fork download
  1. import tkinter as tk
  2. import random
  3.  
  4. class WheelOfFortune:
  5. def __init__(self, root):
  6. self.root = root
  7. self.root.title("วงล้อสุ่ม")
  8.  
  9. self.prizes = ["รางวัลที่ 1", "รางวัลที่ 2", "รางวัลที่ 3", "รางวัลที่ 4"]
  10. self.probabilities = [25, 25, 25, 25] # ความน่าจะเป็นเริ่มต้น
  11.  
  12. self.prize_entries = []
  13. self.probability_entries = []
  14.  
  15. self.create_widgets()
  16.  
  17. def create_widgets(self):
  18. # ส่วนของรางวัลและโอกาส
  19. prize_frame = tk.Frame(self.root)
  20. prize_frame.pack(pady=10)
  21.  
  22. for i in range(len(self.prizes)):
  23. tk.Label(prize_frame, text=f"รางวัล {i+1}:").grid(row=i, column=0)
  24. prize_entry = tk.Entry(prize_frame)
  25. prize_entry.insert(0, self.prizes[i])
  26. prize_entry.grid(row=i, column=1)
  27. self.prize_entries.append(prize_entry)
  28.  
  29. tk.Label(prize_frame, text="โอกาส (%):").grid(row=i, column=2)
  30. probability_entry = tk.Entry(prize_frame)
  31. probability_entry.insert(0, self.probabilities[i])
  32. probability_entry.grid(row=i, column=3)
  33. self.probability_entries.append(probability_entry)
  34.  
  35. # ปุ่มสุ่ม
  36. spin_button = tk.Button(self.root, text="หมุนวงล้อ", command=self.spin_wheel)
  37. spin_button.pack(pady=10)
  38.  
  39. # ช่องแสดงผลลัพธ์
  40. self.result_label = tk.Label(self.root, text="")
  41. self.result_label.pack(pady=10)
  42.  
  43. def spin_wheel(self):
  44. # อัปเดตรางวัลและโอกาสจากช่องกรอก
  45. self.prizes = [entry.get() for entry in self.prize_entries]
  46. self.probabilities = [int(entry.get()) for entry in self.probability_entries]
  47.  
  48. # สร้างรายการรางวัลตามโอกาส
  49. weighted_prizes = []
  50. for i, prize in enumerate(self.prizes):
  51. weighted_prizes.extend([prize] * self.probabilities[i])
  52.  
  53. # สุ่มรางวัล
  54. if weighted_prizes:
  55. result = random.choice(weighted_prizes)
  56. self.result_label.config(text=f"ผลลัพธ์: {result}")
  57. else:
  58. self.result_label.config(text="ไม่มีรางวัล")
  59.  
  60. if __name__ == "__main__":
  61. root = tk.Tk()
  62. app = WheelOfFortune(root)
  63. root.mainloop()
Success #stdin #stdout 0.03s 25832KB
stdin
Standard input is empty
stdout
import tkinter as tk
import random

class WheelOfFortune:
    def __init__(self, root):
        self.root = root
        self.root.title("วงล้อสุ่ม")

        self.prizes = ["รางวัลที่ 1", "รางวัลที่ 2", "รางวัลที่ 3", "รางวัลที่ 4"]
        self.probabilities = [25, 25, 25, 25]  # ความน่าจะเป็นเริ่มต้น

        self.prize_entries = []
        self.probability_entries = []

        self.create_widgets()

    def create_widgets(self):
        # ส่วนของรางวัลและโอกาส
        prize_frame = tk.Frame(self.root)
        prize_frame.pack(pady=10)

        for i in range(len(self.prizes)):
            tk.Label(prize_frame, text=f"รางวัล {i+1}:").grid(row=i, column=0)
            prize_entry = tk.Entry(prize_frame)
            prize_entry.insert(0, self.prizes[i])
            prize_entry.grid(row=i, column=1)
            self.prize_entries.append(prize_entry)

            tk.Label(prize_frame, text="โอกาส (%):").grid(row=i, column=2)
            probability_entry = tk.Entry(prize_frame)
            probability_entry.insert(0, self.probabilities[i])
            probability_entry.grid(row=i, column=3)
            self.probability_entries.append(probability_entry)

        # ปุ่มสุ่ม
        spin_button = tk.Button(self.root, text="หมุนวงล้อ", command=self.spin_wheel)
        spin_button.pack(pady=10)

        # ช่องแสดงผลลัพธ์
        self.result_label = tk.Label(self.root, text="")
        self.result_label.pack(pady=10)

    def spin_wheel(self):
        # อัปเดตรางวัลและโอกาสจากช่องกรอก
        self.prizes = [entry.get() for entry in self.prize_entries]
        self.probabilities = [int(entry.get()) for entry in self.probability_entries]

        # สร้างรายการรางวัลตามโอกาส
        weighted_prizes = []
        for i, prize in enumerate(self.prizes):
            weighted_prizes.extend([prize] * self.probabilities[i])

        # สุ่มรางวัล
        if weighted_prizes:
            result = random.choice(weighted_prizes)
            self.result_label.config(text=f"ผลลัพธ์: {result}")
        else:
            self.result_label.config(text="ไม่มีรางวัล")

if __name__ == "__main__":
    root = tk.Tk()
    app = WheelOfFortune(root)
    root.mainloop()