写一个python 转盘
时间: 2023-07-18 21:45:04 浏览: 16
以下是一个简单的Python Tkinter实现的转盘:
```python
import tkinter as tk
import random
class Roulette:
def __init__(self, master):
self.master = master
master.title("Roulette")
self.colors = ['red', 'black', 'green']
self.numbers = list(range(0, 37))
self.number_colors = ['red' if n in [1, 3, 5, 7, 9, 12, 14, 16, 18, 19, 21, 23, 25, 27, 30, 32, 34, 36] else 'black' if n != 0 else 'green' for n in self.numbers]
self.canvas = tk.Canvas(master, width=300, height=300)
self.canvas.pack()
self.button = tk.Button(master, text="Spin", command=self.spin)
self.button.pack()
self.result_label = tk.Label(master, text="")
self.result_label.pack()
def spin(self):
self.canvas.delete("all")
# Draw the roulette wheel
self.canvas.create_oval(50, 50, 250, 250)
for i in range(0, 37):
start_angle = i * 10 - 5
end_angle = i * 10 + 5
self.canvas.create_arc(50, 50, 250, 250, start=start_angle, extent=10, fill=self.number_colors[i])
# Spin the wheel
result = random.randint(0, 36)
start_angle = result * 10
end_angle = start_angle + 360
self.canvas.create_arc(50, 50, 250, 250, start=start_angle, extent=360, fill='white')
# Show the result
if result == 0:
self.result_label.config(text="0 - green")
else:
self.result_label.config(text=str(result) + " - " + self.number_colors[result])
root = tk.Tk()
roulette = Roulette(root)
root.mainloop()
```
运行该程序,会弹出一个窗口,点击“Spin”按钮即可随机旋转并显示结果。该程序使用了Tkinter的Canvas组件来绘制转盘,并使用Python的随机模块来随机生成结果。
相关推荐














