为什么10.24程序员节,我却需要加班?

基于OpenMV与双舵机云台的激光追踪系统实战解析 本文详细解析了基于OpenMV摄像头与双舵机云台的激光追踪系统设计与实现。从硬件选型、图像识别算法到PID控制逻辑,全面介绍了如何构建一个高效稳定的激光追踪系统,并分享了电子设计竞赛中的实战经验与调试技巧。该系统在智能玩具、安防监控及教学演示等领域具有广泛应用前景。 阅读详情
1024程序员节

10.24程序员节

今天是1024程序猿/媛的节日,本来听起来不错,可是想到明天项目转测,估计又不知道要加班到几点就觉得心塞…为什么明明是程序员的节日,自己却要加班!
是因为我没有穿格子衫?
程序员穿搭标配
或是我的发际线不达标?
程序员发际线
归根结底,还是自身技术不过关,顶多算是个搬砖的
专业搬砖三十年

CTRL+C & CTRL+V

经常遇到来面试的人员,问到为什么从上家公司离职,回答的无外乎薪资问题、感觉在公司没有提升空间、想找个更好的发展平台,等等…但大家是否想过,每天CTRL+C & CTRL+V的工作心态与if else 的编程思路,是公司没有给你提升的空间,还是自己不想着自我提升呢?
细思恐极

一道简单习题引发的思考

今天无意间看到一道python习题,题目是这样的:

有一个长度在1-10000之间的数字列表,它们通过逗号分隔,其中涵盖了0-1000的重复数字,比如**1,4,3,5,3,5,4**,该列表中有且仅有一个数字出现了奇数次,请通过代码获得该列表中,那个出现奇数次的数字。

常规解法

打眼一看这道题,感觉很无脑,无非是列表转集合,然后for循环集合中的数字,通过count进行计算就OK了么,代码如下:

# -*- coding: utf-8 -*-
# @Author   : 王翔
# @WeChat   : King_Uranus
# @公众号    : 清风Python
# @GitHub   : https://github.com/BreezePython
# @Date     : 2019/10/24 0:01
# @Software : PyCharm
# @version  :Python 3.7.3
# @File     : 常规解法.py

def func():
    case_list = input("请输入用例列表:").strip().split(',')
    case_set = set(case_list)
    for num in case_set:
        if case_list.count(num) % 2:
            print("找到符合要求的数字: {}".format(num))
            break
    else:
        print("未找到符合要求的数字")

if __name__ == '__main__':
    func()

for else确实是python中比较特殊的一个语法结构,如果for循环正常执行结束,则执行else内的语句。但程序说的很清楚列表中有且仅有一个数字出现了奇数次,完全没有必要画蛇添足。

强行显摆解法

大家都知道,如果面试的时候,你能将题目通过多种方式实现,那么肯定会得到更高的认可对,然后有了下面的强行装13解法:

# -*- coding: utf-8 -*-
# @Author   : 王翔
# @WeChat   : King_Uranus
# @公众号    : 清风Python
# @GitHub   : https://github.com/BreezePython
# @Date     : 2019/10/24 0:10
# @Software : PyCharm
# @version  :Python 3.7.3
# @File     : 2.groupby函数.py

from itertools import groupby

def func():
    case_list = input("请输入用例列表:").strip().split(',')
    list_group = groupby(case_list)
    for k, v in list_group:
        if len(list(v)) % 2:
            print("找到符合要求的数字: {}".format(k))
            break

if __name__ == '__main__':
    func()

itertools的groupby在日常中使用的比较少。groupby聚合函数与日常使用的sql等聚合方式一致,最终生成key:value的键值对,value为迭代对象。

更为简洁的Counter

python中collections模块附带有一个Counter的函数,使用它能让我们装13时,显得没有上面那么僵硬:

# -*- coding: utf-8 -*-
# @Author   : 王翔
# @WeChat   : King_Uranus
# @公众号    : 清风Python
# @GitHub   : https://github.com/BreezePython
# @Date     : 2019/10/24 0:58
# @Software : PyCharm
# @version  :Python 3.7.3
# @File     : 3.Counter函数.py

from collections import Counter

def func():
    case_list = input("请输入用例列表:").strip().split(',')
    print(Counter(case_list))
    for k, v in Counter(case_list):
        if v % 2:
            print("找到符合要求的数字: {}".format(k))
            break

if __name__ == '__main__':
    func()

装X翻车现场

本来这道题到这里该结束了,但仔细想想,还有什么方式可以用来统计元素数量的奇偶性呢?不管是python还是java等其他编程语言,都存在一个异或的操作,是否可以使用它来实现。
1^3^1 = 3
然后想当然的,我就写出了下面的代码:

from functools import reduce

def func():
    case_list = map(int, input("请输入用例列表:").strip().split(','))
    print(reduce(lambda x, y: x ^ y, case_list))

if __name__ == '__main__':
    func()

看上去没啥毛病,使用reduce进行逐一的异或比较,最终得到了结果,可真的是这样吗?不妨让我们来举个栗子:
1^2 =3 那么 1^2^3是多少?结果为0!

再写下去,还是可以使用一些其他的方式实现。说这么多只是想告诉大家,遇到问题,多主动思考,即便想的是错的,也能从错误中收获知识。

The End

OK,今天的内容就到这里,如果觉得内容对你有所帮助,欢迎点击文章右下角的“在看”。
当然如果你是Pythoner,欢迎访问我的github下载:https://github.com/BreezePython
其中包含了所有往期公众号的代码汇总与一些小项目集合。
期待你关注我的公众号 清风Python,如果觉得不错,希望能动动手指转发给你身边的朋友们。
清风Python

近期文章精选

用生动的案例一步步带你学会python多线程模块
目不识丁的我使用Python开发汉字注音小工具
Python为微信头像任意添加装饰!
如何把图片变得炫酷多彩,Python教你这样实现!
Python开发英语单词自测工具,助你逆袭单词王!
使用Python开发小说下载器,不再为下载小说而发愁
Python开发GUI工具介绍:将图片转化为素描画!
Flask开发VIP版 HttpServer

从零搭建UVM验证环境:新手入门实践指南 在数字芯片验证领域,SystemVerilog和UVM(Universal Verification Methodology)是构建高效验证环境的核心技术。其原理基于面向对象编程和事务级建模,通过组件化架构实现验证的复用性和自动化。这一方法学的技术价值在于显著提升验证效率与质量,广泛应用于处理器、通信芯片等复杂设计的验证场景。本文聚焦于UVM验证环境的搭建实践,通过一个加法器实例,详细解析了uvm_driver、uvm_monitor、uvm_sequence等关键组件的协同工作机制,并提供了基于Quest 阅读详情

相关推荐

STM32F030F4P6 ADC多通道定时器触发DMA搬运

主函数中等待转换完成的标志位,然后打印出来。ADC回调函数中将数值赋值给变量。配置定时器1s读一次。

qq_24426625的博客 1358

首次曝光:大厂都是这样过1024的,看的我酸了

阅读本文需要10:24 (建议收藏&浮窗慢慢看)。1024程序猿节日据了解,1024程序员节 是中国程序员的共同节日。1024是2的十次方,...

JAVA葵花宝典 4510

大疆 DJI Mobile SDK实战指南——从零构建Android示例开发环境

本文提供了一份详尽的DJI Mobile SDK Android开发环境搭建实战指南。文章手把手教你从注册开发者账号、获取App Key,到配置Android Studio、下载官方示例代码,最终成功运行DJI官方Android示例程序,帮助开发者快速入门无人机应用开发,避开常见编译与依赖问题。

weixin_29188043的博客 275

别再杀他们祭天了!1024程序员日那些不得不吐槽的点

转载至公众号:网易科技 在计算机技术中,1G=1024MB,1024是程序员们最为敏感的数字! 1024还是2的十次方,是程序员最熟悉的语言。 在这个特殊的日子里,先向各位程序员们扔出一条百度百科,再祝愿 像是一个个1024,以最低调、踏实、核心的功能模块搭建起这个科技世界的程序员们 说到程序员… 你们会联想到一些什么呢? “码农”“脱发”“奇葩”“单身狗”“修电脑的”? 一盘点才知道 程序员...

aixuexidemomo的博客 2577

html2canvas 返回的toDataURL()数据为 data:,的解决方法

html2canvas 返回的toDataURL()数据为 data:,的解决方法 我在使用html2canvas的使用, 发现toDataURL() 返回的数据为data:, 而且将数据设置为img的src属性,图片也不能正常显示,我尝试了很多方法,也没有解决出来,经过我不断的百度+自己尝试,终于解决了这个问题。 代码: 这段代码是没有任何问题的,标准html2canvas的demod代码,但就是无法正常将图片previewImg 渲染出来,dataURL 我打印的结果为 data:, 错误的原因是,

java123_PB的博客 5025

Node-RED系列(二二):使用dashboard搭配echarts制作漂亮的面板

在node-red中dashboard 是一个很常用的模块,其中它有一个chart节点可以用来制作一些图表,比如柱状图,折线图,饼图,但其中的图表并不是很美观,而且可配置项非常的少。 于是就有很多小伙伴找我做一套比较好看的图表面板,在对比了一下几个图表库,我选中了echarts。 不仅美观大方,而且非常容易集成,配置。下面先来看一下我做的效果。这里是直接做了四个折线图,第一个折线图有动态效果,第二个折线图是一个多线条的折线图,第三个折线图是在一个图例显示两个折线图。第二第三都可以用于数据对比。 第四个折线

知无涯 1万+

1024 程序员节

Hello World!

刘桂林 309

Mac安装Typescript报错

根本原因是系统级目录的权限限制。推荐通过修改目录权限或使用nvm彻底解决问题。

江拥羡橙的博客 211

程序员节(10月24日)今天不加班!

1024,你们加班吗? 往年的这个节,虽然属于程序员,但: 这一天,依旧是有一大波程序员不仅不能准时下班,还要苦BB的加着班。 这个节,除了自我安慰,真的,真的,还缺少那么一点质感!!! 38妇女放一天; 54青年放一天; 61儿童去游乐; 九十教师收礼物; 情人虐狗一年年; 光棍还被抢商标。 无奈啊,凭什么,好不容易有的这个节,还要

kjkjer33的博客 1479

Windows 下 Hermes Agent(爱马仕)安装全记录:从零到一的保姆级图文教程

本文主要介绍了Windows 下 Hermes Agent(爱马仕) 安装全记录:从零到一的保姆级图文教程,希望能对学习使用 Hermes Agent 的同学们有所帮助。 文章目录 1. 背景 2. 实战教程 2.1 步骤一 安装WSL环境 2.2 步骤二 安装Python环境 2.3 步骤三 安装Hermes Agent 2.4 步骤四 修正 API Key 错误 2.5 步骤五 配置多个模型 2.6 步骤六 启动Hermes Agent 3. 常见问题及解决方案 4. 总结

weixin_43178406的博客 14万+

AMD KFD的SDMA Packet 类型和定义解析

本文详细分析了AMD GPU架构中的SDMA(System Direct Memory Access)数据传输机制,重点介绍了其核心数据结构——SDMA Packet。SDMA通过8种主要Packet类型(包括内存拷贝、数据写入、屏障同步、中断触发等)实现高效主机-设备通信。每种Packet采用位域结构和联合体封装设计,在保证功能完整性的同时实现空间优化。这些Packet支持丰富的访问属性和扩展字段,适用于高性能数据搬运、内存初始化、任务同步、性能分析等场景,为GPU计算提供了灵活高效的数据传输解决方案。

图形/计算GPU的驱动与虚拟化技术分享园地 1255

10.24程序员节的来历(原创)

程序员节不仅是对程序员个人技术成就的认可,更成为了全球程序员社群交流合作的平台。从俄罗斯的官方认定到中国的技术社区自发提议,程序员节的确立和普及体现了程序员在全球信息技术行业中不可或缺的作用。随着节日活动的国际化,程序员节进一步加深了全球程序员之间的联系,促进了技术知识的共享和行业最佳实践的传播。

2301_76841790的博客 1612

PyTorch深度学习实战(29)——变分自编码器(Variational Autoencoder, VAE)

变分自编码器 (Variational Autoencoder, VAE) 是一种结合了自编码器和概率建模的生成模型,通过编码器将输入数据映射到潜在空间中的概率分布,并通过解码器将从潜在空间采样得到的潜在变量映射回原始数据空间,实现了数据的生成和特征学习。

盼小辉丶的博客 1万+

10.24程序员节娱乐赛

10.24程序员节娱乐赛

2401_88077378的博客 1605

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

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

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

1024程序员节:永无bug

在这个特别的日子里,让我们共同庆祝程序员的成就与贡献。程序员节不仅是对自身职业的认可,更是对未来的展望。在前端技术日新月异的今天,我们需要保持学习的热情,拥抱变化,迎接挑战。无论是通过技术分享、编程马拉松,还是参与开源项目,让我们在1024程序员节这一天,团结一致,共同推动技术的进步与发展。希望每一位程序员都能在这一天找到属于自己的快乐与成就感。

zhaochen1127的博客 1万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

1024程序员节:今天,我们不加班!

今天是程序员节,大宇在这里祝程序员小哥哥们,小姐姐们节日快乐! 什么你不知道程序员节?没关系,大宇今天就带你了解一下这个节日和程序员。 作为“科技改变生活”的幕后功臣,今天每一位程序员都应得到我们的认可与关注,没错,今天就是“1024程序员节”。 图片来源于网络 为什么说1024是程序员的节日呢? 因为1024是2的十次方,二进制计数的基本计量单位之一。程序员是从事程序开...

程序员大宇 4131

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

2019.10.24(1024程序员节)

1024程序员节 1024程序员节是中国广大程序员的共同节日。1024是2的十次方,二进制计数的基本计量单位之一。程序员(英文Programmer)是从事前端、后端程序开发、系统运维、测试等的专业人员。程序员就像是一个个1024,以最低调、踏实、核心的功能模块搭建起这个科技世界。1G=1024M,而1G与1级谐音,也有一级棒的意思。 节日介绍 部分互联网机构一直密切关注程序员健康,针对程序员...

马句 1967

为什么把10月24日定义为“程序员节”?

在中国,为什么把10月24日定义为“程序员节”? 要是你对此疑惑不解,让我们先来看一个笑话: 女朋友:为什么你们提到工资时会说K?1K和1000块不是一回事吗? 程序员:1K多24块。 在二进制构筑的计算机世界里,2的10次方1024可能是程序员最有感情的数字,1GB =1024MB,1MB =1024KB,1KB=1024B,而且10月24日这个日期非常直观。程序员就像是一个个1024,以最低调、踏实、核心的功能模块一步步搭建起程序的世界。 程序世界充满着各式各样的隐喻,臭虫(Bug)与木马(Tro

weixin_44331649的博客 2434

10.24程序员节专辑——程序员最爱的数字,1024的秘密

10月24日程序员节的由来   因为计算机内部采用二进制计算,为了计算方便,一般的计算机储存容量单位(Byte、KB、MB等)的单位进率都是1024,它是2的10次方,又与我们常用的十进制里的1000十分接近,所以这个数字对于程序员来说有特殊意义。因此,中国的程序员日被定在10月24日。 1024的趣味解释   1024+996=2020=404+404+404+404+404(今年是2020年,996,404是什么意思你懂的)

固态二氧化碳的博客 8421

【历史上的今天】10 月 24 日:1024 程序员节;中文维基百科上线;苹果发布 iPad mini

10 月 24 日,历史上的今天,程序员节诞生;“字节”的发明者 Werner Buchholz 出生;中文维基百科上线;微软发布 Windows Defender;苹果推出 ipad mini。

历史上的今天 1万+

别人的1024程序员节VS你的1024程序员节

大家好,我是辣条。祝大家节日快乐,上线无阻符,全年无bug! 1024程序员节是广大程序员的共同节日。1024是2的十次方,二进制计数的基本计量单位之一。针对程序员经常周末加班与工作日熬夜的情况,部分互联网机构倡议每年的10月24日为1024程序员节。到今年,已经是程序员们过的第8个程序员节了。 我们今天就来看看什么是别人家的1024程序员节和你是怎么过的1024程序员节。 别人的程序员节美女热舞 你的程序员节热舞 别人的程序员节美女解压 而你身边的是:常加班,易秃...

五包辣条的博客 1万+

同事:别加班了,今天可是你们1024程序员节啊!

今天是10月24日程序员节。一大早,承旭元跟往常一样上班,作为一名普普通通的程序员,他知道1024程序员节纯属是大家调侃出来的非法定假日,不加班?不存在的,何况最近的项目...

qq_24520459的博客 474

1024程序员节,码农节,节日意义,拒绝加班...

1024程序员节是中国广大程序员的共同节日。1024是2的十次方,二进制计数的基本计量单位之一。部分互联网机构一直密切关注程序员健康,针对程序员经常周末加班与工作日熬夜的情况,倡议每年的10月24日为1024程序员节,在这一天建议程序员拒绝加班。 然并luan,该加的班依然要加,忙不完的事… 下面是一些程序员中年人的现状… .我们被固定在“敲代码”的坑里,一干就是10年,再干别的早已不会。敲代码...

yangzijiangtou 1702

1024程序员节,福利不说,今天咱就不加班了吧?

程序员,又名“程序猿”,指专门从事计算机程序设计和相关技术开发的专业人员。他们通过编写、测试和维护计算机程序,来创建和改进各种软件和应用程序。程序员是现代社会中不可或缺的创新者和构建者,他们用代码编织梦想,以逻辑为砖,算法为瓦,构建出数字世界的宏伟蓝图。程序员不仅是技术的驾驭者,更是梦想的编织者,用智慧点亮了数字世界的每一个角落。这样一个默默无闻的伟大群体,值得拥有一个特殊的节日。1024程序员节就是一个属于中国程序员的特殊节日。

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 1289

为什么是10月24日?(程序员节设立内幕曝光)

auto-generated

QuickSolve的博客 1079

【1024程序员节加班真相】:揭秘大厂程序员为何越忙越要“过节”

auto-generated

ByteGlow的博客 616
上一篇: 用生动的案例一步步带你学会python多线程模块
下一篇: 不给糖果就捣乱,用Python绘制有趣的万圣节南瓜怪
清风Python
博客等级 码龄7年 406粉丝 267原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值