编写GUI界面,模拟抢红包游戏,在界面输入红包大小和抢红包人姓名(用逗号隔开),输出系统当前时间以及每个人抢的红包大小,要求每个人抢的红包最少不能少于0.01元,精确到小数点后两位。
时间: 2024-03-30 17:38:51 浏览: 50
好的,这是一个比较简单的GUI界面,你可以使用Python的tkinter库来实现。以下是代码示例:
```python
import tkinter as tk
import time
def grab_red_envelope():
# 获取输入框中的数据
red_envelope_size = float(red_envelope_size_entry.get())
grabbers = grabbers_entry.get().split(',')
# 计算每个人应该抢到的金额
total_amount = round(red_envelope_size, 2)
number_of_grabbers = len(grabbers)
amount_per_grabber = round(total_amount / number_of_grabbers, 2)
# 如果每个人抢到的金额小于0.01元,则每个人都抢到0.01元
if amount_per_grabber < 0.01:
amount_per_grabber = 0.01
total_amount = round(amount_per_grabber * number_of_grabbers, 2)
# 输出系统当前时间以及每个人抢到的金额
output_text = '系统当前时间:{}\n'.format(time.strftime('%Y-%m-%d %H:%M:%S'))
for grabber in grabbers:
output_text += '{}抢到了{}元\n'.format(grabber.strip(), amount_per_grabber)
output_text += '总共抢到了{}元\n'.format(total_amount)
output_label.config(text=output_text)
# 创建GUI界面
root = tk.Tk()
root.title('抢红包游戏')
root.geometry('400x300')
# 添加输入框和按钮
red_envelope_size_label = tk.Label(root, text='请输入红包大小(元):')
red_envelope_size_label.pack()
red_envelope_size_entry = tk.Entry(root)
red_envelope_size_entry.pack()
grabbers_label = tk.Label(root, text='请输入抢红包的人(用逗号隔开):')
grabbers_label.pack()
grabbers_entry = tk.Entry(root)
grabbers_entry.pack()
grab_button = tk.Button(root, text='抢红包', command=grab_red_envelope)
grab_button.pack()
# 添加输出框
output_label = tk.Label(root, text='')
output_label.pack()
# 运行GUI界面
root.mainloop()
```
运行该程序,你可以在GUI界面中输入红包大小和抢红包人姓名,点击“抢红包”按钮后,会在界面上输出系统当前时间以及每个人抢到的金额。如果每个人抢到的金额小于0.01元,则每个人都抢到0.01元。
阅读全文