Python版打字练习软件源代码,键盘练习软件源代码,含娱乐模式和训练模式

Python打字练习小游戏源代码 Python打字练习小游戏源程序,随机产生一串字符,可对打字练习的正确率和时间进行统计 立即下载

前言

Python版打字练习软件源代码,键盘练习软件源代码,含娱乐模式和训练模式
按ESC切换左手练习,右手练习、双手练习

在这里插入图片描述
核心代码:


import random
import pygame
from pygame.locals import *
from kb import *
from alpha import *
from player import *
from button import *
from cloud import *
import sys
from setting import *

pygame.init()
pygame.mixer.init()
ADDBIRD = pygame.USEREVENT + 1
pygame.time.set_timer(ADDBIRD, 1500)

ADDCLOUD = pygame.USEREVENT + 2
pygame.time.set_timer(ADDCLOUD, 20000)
COUNTDOWN = pygame.USEREVENT + 3
pygame.time.set_timer(COUNTDOWN, 1000)


boom_file = "./sound/boom.wav"
# print(file)
music_boom = pygame.mixer.Sound(boom_file)
music_boom.set_volume(0.4)

clock = pygame.time.Clock()
screen = pygame.display.set_mode((WIDTH, HEIGHT))

text_font = pygame.font.Font("./font/jiangxizhuokai20.TTF", 30)
text_color = "white"
train_score = 0
happy_score = 0
count = COUNTDOWN_TIME


def print_text(font, text, pos, color):
    img_text = font.render(text, True, color)
    screen.blit(img_text, pos)


def print_hand_info(text_font, substage, pos , text_color):
    print_text(text_font, SHOW_HANDS_INFO[substage], pos, text_color)
    hand_image = pygame.image.load("./imgs/" + hand_images[substage])
    screen.blit(hand_image, (pos[0] + 180, pos[1]))


running = True
# stage = RUN_TRAIN_MODE
# stage = RUN_HAPPY_MODE
stage = MENU_MODE
substage = RUN_LEFT_MODE
kb_pressd = KB_Pressed()
player = Player(y=300)
bird = MenuBird()
boom_group = pygame.sprite.Group()

bird_group = pygame.sprite.Group()
bullet_group = pygame.sprite.Group()
float_alpha_group = pygame.sprite.Group()
clouds = pygame.sprite.Group()
hit_alpha = None # fix bug, 防止进入娱乐模式后,直接按空格发射子弹,程序崩溃
if __name__ == "__main__":
    keyboard = pygame.image.load(KB_IMAGE)
    while running:
        for event in pygame.event.get():
            if event.type == KEYUP:
                if event.key == K_ESCAPE:
                    substage = (substage + 1) % 3
            elif event.type == KEYDOWN:
                if event.key == K_SPACE and stage == RUN_HAPPY_MODE:
                    print("hit_alpha", shoot_alpha)
                    bullet = Bullet(player.rect, shoot_alpha)
                    bullet.play_shoot()
                    bullet_group.add(bullet)
            if event.type == ADDBIRD:
                if stage in (RUN_HAPPY_MODE, RUN_TRAIN_MODE):
                    bird = Bird(substage, stage)
                    bird_group.add(bird)
            if event.type == ADDCLOUD:
                if stage in (RUN_HAPPY_MODE, RUN_TRAIN_MODE):
                    cloud = Cloud()
                    # print("add cloud")
                    clouds.add(cloud)
            if event.type == COUNTDOWN:
                if stage == RUN_TRAIN_MODE:
                    if count <= 0:
                        old_stage = stage
                        stage = GAME_OVER_MODE
                        # RUN_TRAIN_MODE_FLAG = True
                    count -= 1
            if event.type == QUIT:
                sys.exit()
            elif event.type == MOUSEBUTTONUP:
                x, y = event.pos
                if stage == MENU_MODE:
                    for button_choice in menu_mode_buttons:
                        # 在菜单页面,选择娱乐模式,训练模式,退出的逻辑处理
                        if button_choice.rect.collidepoint(x, y):
                            if button_choice.type == RUN_TRAIN_MODE:
                                pygame.time.set_timer(ADDBIRD, 2000)
                            if button_choice.type in (RUN_HAPPY_MODE, RUN_TRAIN_MODE):
                                # 初始化:云,鸟,字母,子弹,倒计时,得分
                                train_score = 0
                                happy_score = 0
                                count = COUNTDOWN_TIME
                                substage = RUN_LEFT_MODE
                                stage = button_choice.type
                                kb_pressd = KB_Pressed()
                                boom_group = pygame.sprite.Group()
                                bird_group = pygame.sprite.Group()
                                bullet_group = pygame.sprite.Group()
                                clouds = pygame.sprite.Group()
                                for cloud_index in range(len(INIT_CLOUD_POS)):
                                    cloud = Cloud(INIT_CLOUD_POS[cloud_index])
                                    clouds.add(cloud)
                                bird = Bird(substage, stage)
                                bird_group.add(bird)
                            elif button_choice.type == GAME_QUIT:
                                sys.exit()
                # 娱乐模式和训练模式左上角的返回按钮
                elif stage in (RUN_HAPPY_MODE, RUN_TRAIN_MODE):
                    if return_menu_mode.rect.collidepoint(x, y):
                        return_menu_mode.revert_image()
                        stage = MENU_MODE
                        # 初始化鸟和飞行员
                        player = Player()
                        bird = MenuBird()
                        float_alpha_group = pygame.sprite.Group()
                elif stage == GAME_OVER_MODE:
                    if return_menu.collidepoint(x, y):
                        stage = MENU_MODE
                        player = Player()
                        bird = MenuBird()
                    elif replay_again.collidepoint(x, y):
                        if old_stage == RUN_TRAIN_MODE:
                            train_score = 0
                            count = COUNTDOWN_TIME
                        elif old_stage == RUN_HAPPY_MODE:
                            happy_score = 0
                            bullet_group = pygame.sprite.Group()
                        stage = old_stage
                        # 初始化:云,鸟,字母,子弹,得分
                        substage = RUN_LEFT_MODE
                        # kb_pressd = KB_Pressed()
                        boom_group = pygame.sprite.Group()
                        bird_group = pygame.sprite.Group()
                        clouds = pygame.sprite.Group()
                        float_alpha_group = pygame.sprite.Group()
                        for cloud_index in range(len(INIT_CLOUD_POS)):
                            cloud = Cloud(INIT_CLOUD_POS[cloud_index])
                            clouds.add(cloud)

            elif event.type == MOUSEMOTION:
                x, y = event.pos
                if stage == MENU_MODE:
                    for button_choice in menu_mode_buttons:
                        button_choice.do_mouse_on(x, y)

        if stage in (RUN_HAPPY_MODE, RUN_TRAIN_MODE):
            screen.fill((135, 206, 250))
            # screen.fill("black")
            clouds.update()
            clouds.draw(screen)
            # return to menu button
            return_menu_mode.update()
            return_menu_mode.draw(screen)
            # screen.blit(BG_IMG, (0, 0))
            screen.blit(keyboard, KB_POS)
            hit_alpha = kb_pressd.update() # 得到一个按下的字母
            kb_pressd.draw(screen)
            # hit_alpha 得到按下的字母
            for bird in bird_group:
                bird.update()
                bird.draw(screen)
                if stage == RUN_HAPPY_MODE:
                    if bird.is_dead():
                        old_stage = stage
                        stage = GAME_OVER_MODE
            if stage == RUN_TRAIN_MODE:  # 训练模式:小鸟原地自爆炸
                # 得分显示
                print_text(text_font, "SCORE: " + str(train_score), (1720, 20), "black")
                # 倒计时显示
                print_text(text_font, "倒计时: " + str(count), (1520, 20), "black")
                # 如果有字母按下
                if hit_alpha:
                    float_alpha = FloatAlpha(hit_alpha)
                    float_alpha_group.add(float_alpha)
                    for show_bird in bird_group: # 遍历正在向左移动的字母
                        if hit_alpha == show_bird.get_label(): # 如果向左的字母 和 按下的字母是一样的
                            # print(hit_alpha)
                            train_score += 1
                            music_boom.play()
                            x, y = show_bird.get_pos()
                            boom = Boom(x-10, y-10)
                            boom_group.add(boom)
                            show_bird.kill() # 干掉向左移动的字母
                        break

            if stage == RUN_HAPPY_MODE: # 娱乐模式:小鸟被子弹射杀
                if hit_alpha:
                    float_alpha = FloatAlpha(hit_alpha)
                    float_alpha_group.add(float_alpha)
                    for show_bird in bird_group: # 遍历正在向左移动的字母
                        if hit_alpha == show_bird.get_label(): # 如果向左的字母 和 按下的字母是一样的
                            # 1. 移动player的位置到,show_bird,这一行
                            player.move_y(show_bird.rect.y)
                            shoot_alpha = hit_alpha
                        break
                # 子弹与字母的 碰撞检测
                collisions = pygame.sprite.groupcollide(bullet_group, bird_group, False, False)
                if collisions:
                    for bullet, birds in collisions.items():
                        for bird in birds:
                            if bullet.get_label() == bird.get_label():
                                happy_score += 1
                                music_boom.play()
                                x, y = bird.get_pos()
                                boom = Boom(x-10, y-10)
                                boom_group.add(boom)
                                bullet.kill()
                                bird.kill()
                print_text(text_font, "SCORE: " + str(happy_score), (1720, 20), "black")

                player.update()
                player.draw(screen)
                bullet_group.update()
                bullet_group.draw(screen)
            float_alpha_group.update()
            float_alpha_group.draw(screen)
            boom_group.update()
            boom_group.draw(screen)
            # print_text(text_font, SHOW_HANDS_INFO[substage], (20, 900), text_color)
            print_hand_info(text_font, substage, (20, 900), text_color)
        elif stage == MENU_MODE:
            screen.blit(MENU_MODE_BG, (0, 0))
            for button in menu_mode_buttons:
                if button.type != MENU_MODE:
                    button.update()
                    button.draw(screen)
            player.random_move()
            player.update()
            player.draw(screen)
            bird.update()
            bird.draw(screen)

        elif stage == GAME_OVER_MODE:
            if old_stage == RUN_TRAIN_MODE:
                screen.blit(game_over_bg, (0, 0))
                screen.blit(GAME_OVER_IMAGE, (WIDTH//2 - 150, HEIGHT//2 - 250))
            elif old_stage == RUN_HAPPY_MODE:
                screen.blit(game_over_bg, (0, 0))
                screen.blit(GAME_OVER_IMAGE, (WIDTH//2 - 150, HEIGHT//2 - 250))

        pygame.display.update()
        clock.tick(FPS)



``

在这里插入图片描述

读者福利:如果大家对Python感兴趣,这套python学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、Python量化交易等习教程。带你从零基础系统性的学好Python!

零基础Python学习资源介绍

① Python所有方向的学习路线图,清楚各个方向要学什么东西

② 600多节Python课程视频,涵盖必备基础、爬虫和数据分析

③ 100多个Python实战案例,含50个超大型项目详解,学习不再是只会理论

④ 20款主流手游迫解 爬虫手游逆行迫解教程包

⑤ 爬虫与反爬虫攻防教程包,含15个大型网站迫解

⑥ 爬虫APP逆向实战教程包,含45项绝密技术详解

⑦ 超300本Python电子好书,从入门到高阶应有尽有

⑧ 华为出品独家Python漫画教程,手机也能学习

⑨ 历年互联网企业Python面试真题,复习时非常方便

在这里插入图片描述

👉Python学习路线汇总👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)
在这里插入图片描述

👉Python必备开发工具👈

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉100道Python练习题👈

检查学习结果。

👉面试刷题👈

在这里插入图片描述

在这里插入图片描述

资料领取

上述这份完整版的Python全套学习资料已经上传优快云官方,朋友们如果需要可以微信扫描下方优快云官方认证二维码 即可领取↓↓↓

在这里插入图片描述

别再手动画柜子了!用EPLAN导入STEP模型,5分钟搞定一个标准机柜 本文详细介绍了如何利用EPLAN Pro Panel的3D布局功能,快速将STEP模型转化为智能机柜宏,大幅提升电气工程设计效率。通过实战步骤解析,包括模型导入、智能解析、安装面定义及拼柜技巧,帮助工程师5分钟内完成标准机柜设计,避免传统手动建模的尺寸偏差问题。 阅读详情

相关推荐

5分钟快速验证lvgl界面:VScode模拟器极简配置法(免环境变量版)

本文介绍了一种5分钟快速验证LVGL界面的极简配置方法,使用VSCode模拟器免环境变量配置,适合UI设计师和产品经理快速预览界面效果。通过预编译的SDL2库和配置好的VSCode工程模板,实现开箱即用的LVGL界面验证,大幅提升工作效率。

weixin_30790841的博客 314

打字练习(Python代码模拟打字练习软件效果)

我的 Python.color() (Python 色彩打印控制)_python color。(本篇笔记于2022-02-28 22:46:21首次发布,最后修改于2022-03-03 10:30:03)

m0_57158496的博客 2135

Matlab实战:用Transformer+LSTM+SVM搞定股票价格预测(附完整代码)

本文介绍了一种基于Transformer、LSTM和SVM的混合建模方法,用于股票价格预测。该方法结合了Transformer的全局依赖捕捉能力、LSTM的时序特征提取优势以及SVM的非线性回归能力,有效应对金融时间序列的非平稳性和噪声问题。文章提供了完整的Matlab实现代码,并展示了混合模型在实盘测试中的优异表现,方向预测准确率达62%,最大回撤控制在3.2%以内。

milk8的博客 254

C语言趣味代码(四)

这一篇主要编写几个打字练习的小程序,然后通过这些小程序的实现来回顾复习我们之前学过的知识,然后通过这写打字练习的小程序来提升我们的打字技术和编程技术。

萌新的博客 3063

webpack性能优化-optimization.splitChunks.chunks中的“all“、“async“和“initial“

最初,chunks(以及内部导入的模块)是通过内部 webpack 图谱中的父子关系关联的。CommonsChunkPlugin 曾被用来避免他们之间的重复依赖,但是不可能再做进一步的优化。 ——摘自 webpack 从 webpack v4 开始,移除了 CommonsChunkPlugin,取而代之的是 optimization.splitChunks。 而关于 optimization.splitChunks 中的chunks,webpack 官方文档却没有很好的进行举例解释,只说明了 async.

程序员秋风的博客 3137

MySQL表名大小写敏感问题终极解决:lower_case_table_names=1不生效的3个隐藏坑

本文深入剖析了MySQL表名大小写敏感问题中,设置lower_case_table_names=1参数不生效的三个核心原因。关键在于理解该参数只能在数据库初始化前设置,并需排查配置文件优先级与正确停止服务的顺序。文章提供了从Windows迁移到Linux的完整避坑指南与验证方法,帮助DBA和开发者彻底解决这一跨平台兼容性难题。

weixin_29229055的博客 391

Python打字练习

用tkinter和random实现打字练习

m0_71663621的博客 1703

光模块MCU开发全解析:从架构原理到固件调试实战

在高速光模块中,MCU并非传统印象里的核心处理器,而是负责数字诊断、闭环控制和协议管理的嵌入式管家。随着800G、1.6T模块的普及,MCU与DSP/SoC的协同、I2C总线通信、ADC采集、APC/TEC控制等低速域任务愈发关键。理解MCU的选型规格、启动流程和固件设计,是保障光模块稳定运行的基础。本文从光模块架构切入,剖析MCU的角色定位,详细拆解I2C从机实现、电芯片配置、校准与升级等工程细节,并结合实际调试经验梳理常见故障与排查思路,为嵌入式工程师提供一份可落地的光模块MCU开发指南。

weixin_29192365的博客 364

【赛码网】python编程练习(2)——打字

给你一个字符串,问你最少使用多少个按键,就可以写出这个字符串呢?注意,按shift和字母键,算两次按键。开始时均为小写状态。

weixin_44296760的博客 475

华为数通方向HCIP-DataCom H12-831题库(多选题:121-140)

华为数通HCIP H12-831多选题

didiplus 1291

各大厂薪资对比爬虫:Python采集OfferShow爆料数据

print(f"⚠️ API返回错误码: {data.get('code')}, msg: {data.get('msg')}")ax.set_title('各大厂薪资对比 (基于OfferShow爆料数据)', fontsize=16, fontweight='bold')stats.columns = ['人数', '平均年薪', '年薪中位数', '年薪标准差', '平均月薪', '平均月数']print(analyzer.get_position_stats('字节跳动').head(10))

2201_76125261的博客 603

手把手教你玩转Java-必知必会计算机基础

小白必知必会的计算机基础都在这里了

ittimeline 398

Python爬虫:招聘网站岗位要求、薪资与求职者数据爬取与分析

通过本文的教程,我们学习了如何通过 Python 编写招聘数据爬虫,爬取招聘网站上的岗位要求、薪资和求职者数据,并通过数据存储、清洗、分析和可视化,获取有价值的信息。网站如智联招聘、猎云网、前程无忧等,都提供了大量的招聘信息,包括岗位要求、薪资范围、工作经验、学位要求、招聘公司等。本文将介绍如何通过 Python 编写爬虫,爬取招聘网站上的岗位要求、薪资、求职者数据,并通过数据存储、分析和可视化等手段,为求职者或招聘者提供实用的信息和决策支持。通过循环抓取多个页面的数据,可以获取不同岗位的信息。

2201_76125261的博客 723

C++打字练习程序

【代码】C++打字练习程序。

Iamsupercoder的博客 622

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

html打字练习测试代码,JS实现简单打字测试

本文实例为大家分享了JS实现简单打字测试的具体代码,供大家参考,具体内容如下需求:实现以下的功能1.有三个小方块,分别用来当前输入的错误数量、打字的时间和当前的正确率。2.下方是用来显示测试句子的容器。3.最后是输入框具体思路:点击输入文本区域时,开始测试,会根据用户输入来统计当前的错误数和正确率,时间会减少。当输完整段句子时,会自动更新下一段句子。当时间为0时,游戏结束,文本框不能再输入,然后会...

weixin_35526110的博客 1839

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

C++程序员修炼(一)快速码字

第一步 熟悉键盘发展历史、键数及布局 快速码字的第一步是了解键盘的发展史、键数,以及不同键数键盘的布局。熟悉这些一方面有助于你对键盘进行分区记忆,另一方面有助于你很清楚敲什么键时去哪个区域找键位。 这些知识你都可以通过百度搜索获得,此处不做过多赘述,搜索后你可以整理出来,作为自己的知识库的一部分。 第二步 熟悉起始指位 有了第一步的了解之后,我相信你应该可以将手指放在键盘正确的指位上了。起始指位是指字母区坐中间这一排的指位,如果你能铺好手指,那么此练习过关。 第三步 记忆字母区中间排的字母

u012579905的博客 1万+

javaweb基于SSH开发打字练习系统(前台+后台)+论文+PPT 课程设计 毕业设计源码

基于S2SH开发打字练习系统(前台+后台)+论文+PPT:(毕业设计/课程设计) 开发工具: MyEclipse(eclipse/idea)+Jdk+Tomcat+MySQL数据库 演示视频:javaweb基于S2SH开发打字练习系统源码(前台+后台)运行效果图:.........

m0_37916936的博客 552

《在线打字练习系统》开题报告

通过阅读该文献,了解到索引是加快查询的重要方法,如果数据量很小,索引的作用不大,当数据量很大的时候,尤其涉及多个表连接时,索引的作用更大,索引在数据库中通常是必不可少的。不论是在国内还是国外,一个优秀的打字练习者都会得到更多的机会,就如同前面提到的,一个快速、准确且有逻辑的打字方式可以让你在word这款办公软件中更加的受到大公司的欢迎,无论是在以后的工作还是学习中,你都不可能离得开word办公软件,而打字则是这款软件最基本的使用方法,甚至于国家为此还设立了专门的考试和职位。

2301_79305643的博客 259

在线打字练习系统——毕业设计 (基于Java开发+数据库Mysql)

现代社会信息技术的快速发展使得电脑的使用成为人们日常生活中的常见现象。随着时间的推移,人们对信息技术的需求和便利生活的追求会不断增加。因此,学习使用电脑并能够高效地打字已经成为当代大学生所必备的一项技能。然而,调查显示目前许多大学生在打字方面仍不熟练并且不满意。同时,许多高校也没有提供相应的在线打字练习系统来帮助学生提高打字速度和兴趣。因此,开发一个在线打字练习系统可以满足学生的需求,解决他们在打字方面的问题,帮助他们更好地适应社会生活。

899

Python游戏开发:打字练习游戏

这个打字练习游戏是一个简单而有趣的Python小项目,适合用来锻炼打字能力和反应速度。希望本文能够帮助你理解游戏开发的基本原理,并激发你对Python游戏开发的兴趣。

weixin_64801028的博客 1479

python打字练习

【代码】python打字练习。

jeuuhebf的博客 287

html编写在线打字通,HTML5代码打字练习、HTML5案例 - 03

HTML5代码打字练习03HTML5学堂:在书写代码时,代码规范很重要,在本文当中,提供了代码范例,本次提供的效果案例是经典的碰壁反弹效果(以前几年浏览网页时那些飞来飞去的广告)。希望初入HTML5的孩纸们,如果打字速度不够,可以通过敲代码实例来练习打字。一方面能够提升打字速度,另一方面也能够更熟悉代码规范。基本书写规范标签有开有关,成对出现。例如表示div标签的开,而则表示一个标签的关。在HTM...

weixin_39820185的博客 583

练习敲代码速度/提高打字速度

今天看到一个敲代码的视频,说的是不要用你的爱好来挑战程序员的职业。惭愧,我也是程序员,但打字还真的没那么快,尤其是数字键盘,以前敲不准,十几年了也没在意,毕竟很少用。直接用右边小键盘更方便。现在补上短板。

Ai聊天导师的博客 1176

在线编程常见输入输出练习

输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据有多组, 如果输入为0 0则结束输入。每组数据一行,每行的第一个整数为整数的个数n(1 <= n <= 100), n为0的时候结束输入。输入包括两个正整数a,b(1 <= a, b <= 1000),输入数据包括多组。输入的第一行包括一个正整数t(1 <= t <= 100), 表示数据组数。每行的第一个整数为整数的个数n(1 <= n <= 100)。每行的第一个整数为整数的个数n(1 <= n <= 100)。

weixin_48703074的博客 582

在线打字系统php,页面源码 - 在线打字测试(dazi.kukuw.com)

页面源码贡献者:游客6425371 类别:代码 时间:2016-03-22 22:32:10 收藏数:5 评分:0返回上页举报此文章请选择举报理由:广告/谣言/欺诈政治敏感色情/违法信息垃圾文章其他收藏到我的文章改错字,t[i].l=t[i].l||+new Date,r=n.createElement(e),r.async=!0,r.src=a,o=n.getElementsByTagName(...

weixin_33240360的博客 1393
上一篇: 计算机专业大学四年该如何安排?
下一篇: 计算机大学生摆烂三年,现在该如何自救
黑客老许
博客等级 码龄8年 6153粉丝 1028原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值