圣诞Party将至!来来来,露一手用Python 抽奖

Python简易滚动抽奖界面程序 使用Tkinter —— Python 的标准 GUI 库, 实现简易幸运转盘式抽奖界面。 立即下载

下周我们公司的圣诞 Party 活动安排有抽奖环节,由于不方便采用手机抽奖,且目前选用的电脑端在线抽奖会出现卡顿情况,最近我就尝试着用 Python 实现抽奖功能。目前进展不错,也想分享给大家,由于涉及隐私嘛,做了番保密修改,将要展示的抽奖公司搬到了水泊梁山,助力 108 好汉进行抽奖。

人家需不需要呢咱也不敢问,反正抽奖程序是做好了,请大家过目:

运行前准备好参与抽奖的好汉名单,本程序会自动读取表格文件,将待抽奖的各位好汉展示在左侧奖池中,只要点击图中小鹿的红鼻子,会默认抽取三等奖(共十位)。

文章结尾附有完整版细节视频。可以看到,抽奖时好汉名字会在中央滚动展示,当再次点击红鼻子完成单次抽奖时,中奖的名字会从左侧奖池转移到右侧获奖榜上。

一、二等奖分别五位,与三等奖抽取的区别在于要先选择右侧 1 号金色或 2 号银色标志,根据点选标志抽取相应奖项。

当然,如果三等奖未完成,也可以点选 1 号金标 或 2 号银标 先行抽取,之后再通过点 3 号铜标 完成三等奖的抽取。在获奖榜满额时,再次抽奖会触发弹框提醒。

此外,左下方的 "Let's go!" 字样是重置开关,点击会重新载入数据进行抽奖。

当然,除了鼠标点击事件的控制,该抽奖程序也添加了键盘控制:例如数字键可以直接选择奖项,空格键等同于红鼻子控制,Esc 键退出抽奖等。

如上便是目前抽奖程序的功能和界面了,下面分享下我在设计与编码过程中的路线和想法。


需求与设计

首先归纳下整个抽奖程序的需求:

  1. 基本功能是实现名单中的随机抽取

  2. 活动穿插三轮抽奖,不能重复中奖

  3. 尽量美观

  4. 打消暗箱操作的怀疑

基于总结的需求点,我整理的设计方案如下:

  1. 名单自动载入至列表中

  2. 随机抽取名单列表,抽中后移除该元素

  3. 图形界面展现抽奖过程和结果,选用 tkinter 来实现

  4. 绑定鼠标、键盘控制抽奖过程

滚动随机数

首先搜索 “Python 抽奖程序”,在众多素材中看到了一份可以 tkinter 界面动态展示随机数的代码。拷贝过来运行,效果如图:

点击图中按钮时,屏幕中滚动出现 1000 以内的随机数,代码逻辑如下:

# while 循环控制界面
while True:
    # 延时操作
    time.sleep(0.1)
    # 产生随机数
    r = random.choice(range(1000))
    # 将随机数赋给页面的组件上
    self.btn1['text'] = r

在 while 循环中设置 0.1 秒延迟,通过 random.choice() 在 range(1000) 生成随机数,将其绑定在 tkinter 界面上展现。这样随着 while 循环的进行,每个随机数在界面上停留 0.1 秒,就产生了滚动随机数的效果。

由于该代码中将整个抽奖过程定义为了一个对象,果断选取此份代码当作核心代码来予以拓展,也借此机会加深下相关理解。

我们要做的就是先消化吸收此代码,然后站在其肩膀上定制并完善自己需要的功能。

# 代码来自于https://blog.youkuaiyun.com/weixin_39833509/article/details/88700565
import tkinter
import time
import threading
import random
class Choujiang:
#初始化魔术方法
    def __init__(self):
        #准备好界面
        self.root = tkinter.Tk()
        self.root.title('lowB版转盘')
        self.root.minsize(600, 600)
        # 声明一个是否按下开始的变量
        self.isloop = False
        self.newloop = False
        #调用设置界面的方法
        self.setwindow()
        self.root.mainloop()

    #界面布局方法
    def setwindow(self):
        #开始停止按钮
        self.btn_start = tkinter.Button(self.root, text = '开始/停止', command = self.newtask,bg='gold')
        self.btn_start.place(x=250, y=250, width=100, height=50)

        self.btn1 = tkinter.Button(self.root, text='', bg='red')
        self.btn1.config(font=("Courier", 50))
        self.btn1.place(x=200, y=130, width=200, height=50)
        self.girlfrends = list(range(1000))

    def rounds(self):
        # 判断是否开始循环
        if self.isloop == True:
            return
        # 初始化计数 变量
        i = 0
        # 死循环
        while True:
            if self.newloop == True:
                self.newloop = False
                return
            # 延时操作
            time.sleep(0.1)
            # 将所有的组件背景变为白色
            r = random.choice(range(1000))
            self.btn1['text'] = r
    # 建立一个新线程的函数
    def newtask(self):
        if self.isloop == False:
            # 建立线程
            t = threading.Thread(target = self.rounds)
            # 开启线程运行
            t.start()
            # 设置循环开始标志ask(self):nknewtas
            self.isloop = True
        elif self.isloop == True:
            self.isloop = False
            self.newloop = True
c = Choujiang()

滚动名单

因为公司有提供员工名做抽奖用,类比着来,也准备了一份梁山好汉的名单表格。基于刚刚动态展示随机数的代码,我们要做的是载入表格,将名单数据转化为列表。

# 读取表格中的名单数据,存入列表中
data = pd.read_excel("demo.xlsx")
name_list=[item for item in data['名字']]

把刚代码中的提取随机数代码替换成 random.choice(名单列表) 就可以了。

# 仍是 while 循环控制界面
while True:
    # 延时操作
    time.sleep(0.1)
    # 将随机数抽取范围替换成名字列表
    r = random.choice(name_list)
    # 将随机名字赋值给页面组件
    self.btn1['text'] = r

效果如下:

界面初始布局

在动态随机名字的界面基础上,添加背景图展现:

# 准备好界面
self.root = tkinter.Tk()
self.root.title("水泊梁山 2019 圣诞大抽奖")
self.root.geometry('1360x700+0+0')  # 定义界面大小
self.root.resizable(False, False)

# 添加背景图片
self.canvas = tkinter.Canvas(self.root,
                        width=1360,  # 指定Canvas组件的宽度
                        height=700,  # 指定Canvas组件的高度
                        bg='white')  # 指定Canvas组件的背景色
self.image = Image.open("static/background.png")
self.im = ImageTk.PhotoImage(self.image)
self.canvas.create_image(680, 350, image=self.im)  # 使用create_image将图片添加到Canvas组件中
self.canvas.pack()

基于奖项划分,添加相应的按钮控制和中奖名单展现:

# 以一等奖为例,此处代码只是示例,参数不准确
# 添加一等奖的按钮组件 Button
self.first = tkinter.Button(self.root, text = '一等奖', command = self.set_first,bg='gold')
# 将该按钮置于界面相应位置
self.first.place(x=1070, y=180, width=80, height=50)
# 设置获奖榜展示字体
myFont = font.Font(size=20)
# 添加一等奖的获奖名单展示组件 Listbox
self.target_1 = tkinter.Listbox(self.root,height=5,font=myFont,bg="lemonchiffon",bd=0,fg="olive")
# 将展示组件添加到界面中
self.target_1.place(x=1080, y=240, width=70, height=130)

添加总名单的展示区域以及重设按钮:

# 总名单展示区域选用 Text 组件
self.source = tkinter.Text(self.root,bg="navajowhite",fg="dimgray")
# 将该组件添加到界面中
self.source.place(x=100, y=250, width=300, height=290)
# 向组件中插入数据
self.source.insert(tkinter.END,("、").join(self.data))
# 重启按钮 Button
self.btn_reset = tkinter.Button(self.root, text = '重启', command = self.reset ,bg='gold')
# 重启按钮添加到界面中
self.btn_reset.place(x=180, y=550, width=100, height=50)

经过上述代码的布局,最初界面效果如下图:

进一步绑定并对应好数据,便可实现基本功能。

界面优化

首先是布局,两个思路:其一是在背景图上做文章,相应位置添加装饰元素;其二是 tkinter 组件上下功夫,优化组件展示样式或者替换成更美观的样式。

说实话,写功能代码的时间和此部分界面优化的时间比起来真的小巫见大巫了。首先并不清楚能不能实现某种样式,其次 tkinter 自己也不熟,好多对组件都是自己在 Photoshop 中定位并加工处理的。

背景图优化

背景图方面,添加了图中的小鹿,原图是这样的:

通过 PS 将其抠图放到背景图中当作“摇奖展示台”。同时背景图添加公司名称、活动作为标题,并在左侧为总名单展示区域添加边框。最终效果如下:

组件优化

最初的想法是,按钮不好看,尝试隐藏按钮保留功能,尝试无果。最终方案是,将 Button 组件换成 Label 组件,在 Label 中展示相应位置的背景图,通过 bind 绑定鼠标点击事件。换句话说,我将红鼻子区域的图片当成一个 Label 置于界面中并绑定抽奖动作,那么一点击红鼻子就会开启/停止抽奖。

所有用来替换 Button 组件的 Label 图片如上:

  • nose.png 即红鼻子局部图,对应 “开始/停止”;

  • 001.png 即 1 号金标图,对应 “一等奖”;

  • 002.png 即 2 号银标图,对应 “二等奖”;

  • 003.png 即 3 号铜标图,对应 “三等奖”; 

  • reset.png  为 "Let's go!" 局部图,对应 “重启”

对于展现获奖名单的 Listbox 组件,利用其每项占一行的特点,通过调整其组件大小和颜色,稍作优化,未做大改。对于被展现名字的处理,我采用的策略是检测到两个字的名字就给其中间加个中文空格,这样所有名字都会转化为三个中文字符,方便统一样式处理。

# temp 获取到被抽中的名字
temp = random.choice(self.data)
# 判断名字是否为2字
if len(temp) == 2:
    # 二字名字中间添加个中文字符
    r = temp[0]+f"{chr(12288)}"+temp[1]
else:
    # 三字名字保持不变(数据中无四字名字出现)
    r = temp

至于展现总名单的 Text 组件,简单调整大小、修改背景和字体颜色。

最终再将各组件安排到设计好的位置中,就产生了开头时抽奖程序的界面:

功能添加

因为是 Party 需要,如果鼠标点击不方便的话,还可以对程序添加键盘控制:

# 添加键盘控制
self.root.bind("1", self.set_first)
self.root.bind("2", self.set_second)
self.root.bind("3", self.set_third)
# 空格键 开始/停止
self.root.bind("<space>", self.newtask)
# Esc 键退出程序界面
self.root.bind("<Escape>", self.close)

总结

思路与流程大致如上,现在做完了再回顾,确实,优化细节比实现功能要繁琐的多。尤其是用到 tkinter 图形界面中的诸多组件,要配合着通过 PS 来修改图片样式等。说实话,python 有没长进不知道,PS 技术蹭蹭蹭地涨。

想要从零实现本篇中的程序,可能对 tkinter 的使用、多线程的应用以及对象的了解都要求比较高。但像我这次的选择,基于半成品的 tkinter 抽取随机数代码的基础上去尝试,更多涉及的就是功能完善和界面上优化了,就完成任务而言还是可以加速很多的。

总体来看本次任务完成度,个人感觉还不错,该有的都有、也添加了些小细节展示。后续可以添加导出中奖名单、抽奖过程存档等功能,但我们这边目前还用不到就先不添加了。

整个编码过程也是尽力在找更好的展现或实现方法,可能有些组件或方法自己没接触过没有概念,也欢迎大家予以指点!


抽取三等奖的操作细节视频:

抽取一二等奖的操作细节视频:

重置及选择不同奖项:

代码下载

后台回复 圣诞抽奖 获取代码 

更多有趣有用文章

手把手教你,菜鸟也能用Python写一个2048游戏

强烈推荐,用Python轻松打造定制款《植物大战僵尸》
小白都能看懂,用Python来实现一个区块链,就这么简单

天下武功为快不破,戏说Python与Go高并发争锋!

建议看一下,零基础学Python都想问的6个问题,老司机给你两千字解答

千人学习群:

小密圈的趣味实战-微信主题

小密圈人气很高的两个实战项目

14圣诞抽奖程序 (Anaconda)_抽奖_抽奖程序_python_ 公司员工节日(比如圣诞节)在线抽奖活动,随机从员工中抽取设定数值的获奖员工 立即下载

相关推荐

Python使用Tkinter实现滚动抽奖器效果

年底,抽奖这个话题很多人都会讨论,都希望可以中奖。 接下来我就使用 Python 中的 Tkinter 模块来实现一个简单的滚动抽奖器。 一、Tkinter简介 Tkinter 是 Python 的标准 GUI(Graphical User Interface,图形用户接口)库,Python 使用 Tkinter 可以快速地创建 GUI 应用程序。 在 Python2 和 Python3 中,Tkinter 都在标准库中,无需安装即可使用。在 Python2 中,这个库叫 Tkinter ,在 Python3 中,这个库叫 tkinter ,首字母大小写不相同,在导包时需要注意。 虽然 Pyt

水泊梁山迎圣诞,Python 抽奖助好汉

标题党! 水泊梁山迎毛线的圣诞? 还 Python 抽奖助好汉?你来抽个我看看! ——息怒息怒,是这样: 下周我们公司的圣诞 Party 活动安排有抽奖环节,由于不方便采用手机抽奖,且目前选用的电脑端在线抽奖会出现卡顿情况,最近我就尝试着用 Python 实现抽奖功能。目前进展不错,也想分享给大家,由于涉及隐私嘛,做了番保密修改,将要展示的抽奖公司搬到了水泊梁山,助力 108 好汉进行抽奖。 人家...

TEDxPY 2597

Python逆向实战:突破PDD长连接抓包的技术解析

本文详细解析了如何通过Python逆向技术突破PDD长连接抓包的难点,包括分析PDD的网络机制、绕过SSL证书验证以及完整抓包实战流程。文章重点介绍了使用Frida和VAXposed工具解决长连接和SSL Pinning问题,并提供了Python代码示例和数据分析方案,帮助开发者高效抓取PDD数据。

weixin_28678151的博客 1222

Python制作一个圣诞抽奖程序,原来如此简单

下周我们公司的圣诞 Party 活动安排有抽奖环节,由于不方便采用手机抽奖,且目前选用的电脑端在线抽奖会出现卡顿情况,最近我就尝试着用 Python 实现抽奖功能。目前进展不错,也想分享...

Python之禅的专栏 2131

R语言实战:5分钟搞定GEO单细胞数据(scRNA-seq)下载与整理(附完整代码)

本文详细介绍了如何使用R语言快速下载和整理GEO单细胞数据(scRNA-seq),提供完整的自动化处理代码。从环境准备、数据获取到文件整理和质量检查,涵盖10X Genomics标准格式及非标准数据的处理技巧,帮助生物信息学研究者高效完成数据预处理工作。

weixin_29054399的博客 604

如何在Tagetik系统中抽取处理SAP系统财务数据

如何在Tagetik系统中抽取处理不同核算系统财务数据:以SAP为例,简单讲一下Tagetik对接SAP数据的基本情况

2201_75401663的博客 578

android 数字滚动抽奖_圣诞Party将至!来来来,露一手用Python 抽奖

下周我们公司的圣诞 Party 活动安排有抽奖环节,由于不方便采用手机抽奖,且目前选用的电脑端在线抽奖会出现卡顿情况,最近我就尝试着用 Python 实现抽奖功能。目前进展不错,也想分享给大家,由于涉及隐私嘛,做了番保密修改,将要展示的抽奖公司搬到了水泊梁山,助力 108 好汉进行抽奖。人家需不需要呢咱也不敢问,反正抽奖程序是做好了,请大家过目:运行前准备好参与抽奖的好汉名单,本程序会自...

weixin_29026443的博客 234

使用Matlab进行IEEE 33节点潮流计算的NR法实现详解及应用实例

IEEE 33节点系统是一个标准的配电系统模型,广泛用于学术研究和工程应用。该系统由33个节点和37条线路组成,结构复杂,具有代表性。其潮流计算结果可用于验证各种潮流计算方法的准确性和效率。NR法是一种基于迭代求解的潮流计算方法,通过不断迭代求解非线性方程组,直到达到预定的收敛条件。NR法具有收敛速度快、计算精度高的优点,适用于大规模复杂电力系统的潮流计算。

m0_57781768的博客 2071

python tkinter treeview表格加线_圣诞Party将至!来来来,露一手用Python 抽奖

下周我们公司的圣诞 Party 活动安排有抽奖环节,由于不方便采用手机抽奖,且目前选用的电脑端在线抽奖会出现卡顿情况,最近我就尝试着用 Python 实现抽奖功能。目前进展不错,也想分享给大家,由于涉及隐私嘛,做了番保密修改,将要展示的抽奖公司搬到了水泊梁山,助力 108 好汉进行抽奖。人家需不需要呢咱也不敢问,反正抽奖程序是做好了,请大家过目:运行前准备好参与抽奖的好汉名单,本程序会自...

weixin_39761645的博客 727

基于STM32F1XX 、HAL库的BH1745NUC-E2环境光传感器驱动应用C语言程序设计

printf("BH1745制造商ID: 0x%02X\r\n", BH1745_ReadManufacturerID(&hbh1745));#define BH1745_ADDR_HIGH 0x39 // ADDR引脚接VDD。#define BH1745_ADDR_LOW 0x38 // ADDR引脚接地。= 0xE0) // BH1745制造商ID为0xE0。// 清除RGBC测量使能位。printf("BH1745初始化失败\r\n");

PP_Cottage的博客 280

python实现下载和离线安装包环境

导出当前电脑python安装的所有包列表requirement.txt。

m0_60352504的博客 1676

不重复随机数抽奖用_水泊梁山迎圣诞,Python 抽奖助好汉

标题党!水泊梁山迎毛线的圣诞?还 Python 抽奖助好汉?你来抽个我看看!——息怒息怒,是这样:下周我们公司的圣诞 Party 活动安排有抽奖环节,由于不方便采用手机抽奖,且目前选用的电脑端在线抽奖会出现卡顿情况,最近我就尝试着用 Python 实现抽奖功能。目前进展不错,也想分享给大家,由于涉及隐私嘛,做了番保密修改,将要展示的抽奖公司搬到了水泊梁山,助力 108 好汉进行抽奖。人家需不需要...

weixin_39550379的博客 342

【异常】Coze/扣子 Workflow 调用报 4200 错误深度解析

Coze API 的。

奶爸的编程之路,也就一周冷个三天 301

android 数字滚动抽奖_Python制作一个圣诞抽奖程序,原来如此简单

来源 | TEDxPY下周我们公司的圣诞 Party 活动安排有抽奖环节,由于不方便采用手机抽奖,且目前选用的电脑端在线抽奖会出现卡顿情况,最近我就尝试着用 Python 实现抽奖功能。目前进展不错,也想分享给大家,由于涉及隐私嘛,做了番保密修改。先来看看效果视频吧(背景音乐很好听哦:)人家需不需要呢咱也不敢问,反正抽奖程序是做好了,请大家过目:运行前准备好参与抽奖的好汉名单,本程序会自...

weixin_33613462的博客 305

物理AI重构自动驾驶供应链 | 传统Tier1盈利模式崩塌,纯算法/软硬一体双路线落地对比,助力智驾软件商业化与全场景模型迭代

2026年是自动驾驶物理AI规模化落地元年,行业彻底告别传统感知-预测-规划-控制的模块化分层开发范式,迈入以世界模型、物理规则推演、端到端动作生成为核心的全新技术阶段。不同于传统AI仅完成图像识别、目标检测的浅层感知任务,物理AI能够深度理解道路交通中的动力学约束、路面摩擦、车辆博弈、行人运动规律等真实物理逻辑,实现对复杂路况的时序推演与自主决策,从底层重构自动驾驶技术架构。技术迭代同步引发产业链颠覆性变革,沿用数十年的传统自动驾驶Tier1商业模式全面崩塌。

getusushu的博客 289

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

android 数字滚动抽奖_水泊梁山迎圣诞,Python 抽奖助好汉

标题党!水泊梁山迎毛线的圣诞?还 Python 抽奖助好汉?你来抽个我看看!——息怒息怒,是这样:下周我们公司的圣诞 Party 活动安排有抽奖环节,由于不方便采用手机抽奖,且目前选用的电脑端在线抽奖会出现卡顿情况,最近我就尝试着用 Python 实现抽奖功能。目前进展不错,也想分享给大家,由于涉及隐私嘛,做了番保密修改,将要展示的抽奖公司搬到了水泊梁山,助力 108 好汉进行抽奖。人家...

weixin_42515561的博客 130

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

android 数字滚动抽奖_如何用 python 写个年终抽奖程序?

下周我们公司的圣诞 Party 活动安排有抽奖环节,由于不方便采用手机抽奖,且目前选用的电脑端在线抽奖会出现卡顿情况,最近我就尝试着用 Python 实现抽奖功能。目前进展不错,也想分享给大家,由于涉及隐私嘛,做了番保密修改,将要展示的抽奖公司搬到了水泊梁山,助力 108 好汉进行抽奖。人家需不需要呢咱也不敢问,反正抽奖程序是做好了,请大家过目:运行前准备好参与抽奖的好汉名单,本程序会自...

weixin_33099377的博客 142

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

tkinter(手气选择器)

按键循环: # coding:utf-8 import tkinter import time import threading def rounds(): # 判断是否开始循环 global isloop, newloop if isloop == True: return # 初始化计数 变量 i = 0 # 死循环 ...

weixin_39833509的博客 270

瞎玩 - 简单抽奖实现

闲来没事,就写了一个简单的抽奖程序,供大家瞎玩!超级简单的那种。 源代码:#include <stdio.h> #include <time.h> #include <stdlib.h>int main(int argc, char *argv[]) { int i,j; int *award_arr = 0; int award_num = 0; int

懒洋洋工程师的笔记 503

python之转盘游戏——采用threading和tkinter模块实现

# 1.有12个备选选项和2个功能按钮 确定备选选项和功能按钮的位置 # 2.点击开始会不断旋转。选中的时候背景颜色为红色,点击停止结束 import threading import tkinter import time # 1.实现窗口 root = tkinter.Tk() root.title('美女联盟') root.minsize(300,300) # 2 摆放按钮 btn1 = tkinter.Button(root, text='苍老师', bg='red') btn1.place(

Claire_chen_jia的博客 925

使用 CSS3 实现转盘抽奖效果

微信和大型商场常常会有转盘抽奖的活动,比如上海移动和教授的抽取积分活动等。我们可以通过CSS3的transform属性来实现转盘的旋转。同时,transition属性实现过渡动画,它具有四个子属性,依次为 1.      transition-property(过渡属性,默认为all) 2.      transition-during(过渡时间,默认0s) 3.      transiti

弱弱的小雨鸟 1万+

python用类写抽奖

生成0-1随机数 random.random() 统计抽奖个数 import random dict = {} dict["一等奖"] = 0 dict["二等奖"] = 0 dict["三等奖"] = 0 for i in range(1000):     acs = float("%.2f" % random.random())     if acs &lt; 0.08:         ...

m493096871的博客 338

python编写全民漂移自动抽奖脚本

python编写全民漂移自动抽奖脚本 github地址:https://github.com/wyysgithub/DriftScript 在抽奖页面点击+5,会开始播放15秒广告; 广告播放完毕,需要点击关闭广告才能回抽奖页面,并增加抽奖次数5次; 点击开始,转盘会转5~7秒,然后页面显示抽奖结果; 抽奖结果会有两种情况,一是可以直接点击领取的,二是需要再次观看广告再领取的,也可以点击关闭重新...

王扬扬的博客 797

抽奖转盘

html lang="zh-cn"> head> meta charset="UTF-8"> script type="text/javascript" src="jquery-2.1.4.min.js">script> title>转盘抽奖title> meta name="viewport" content="width

一个人的博客 2733

python幸运大抽奖交互作品,作者:李兴球

"""幸运大抽奖小程序,本作品要求安装pygame模块才有声音,作者:李兴球,  按空格键进行抽奖,音乐好酷!""" #-------------------------1、模块导入----------------------------- from turtle import * from random import randint import sys #---------------...

李兴球的专栏 2014
上一篇: 年末了!超级大盘点,400多个Python薪资岗位,土豪公司出炉!
下一篇: 朋友圈装死,微博蹦迪|Python教你如何掌握女神情绪变化
菜鸟学Python
博客等级 码龄9年 8063粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值