首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我怎样才能写出更短的代码呢?不带"if“

要写出更短的代码,不带"if",可以考虑以下几个方法:

  1. 使用三元表达式:三元表达式是一种简洁的条件语句,可以用来替代部分if语句。它的语法形式为:条件 ? 表达式1 : 表达式2。通过合理运用三元表达式,可以减少代码行数。
  2. 使用逻辑运算符:逻辑运算符包括与(&&)、或(||)和非(!)。通过巧妙地运用逻辑运算符,可以将多个条件合并成一个条件,从而减少if语句的使用。
  3. 使用字典或映射表:如果有多个条件需要判断,可以考虑使用字典或映射表来替代if语句。将条件作为字典的键,对应的处理逻辑作为值,通过查找字典来执行相应的操作。
  4. 使用函数式编程:函数式编程强调将程序分解为独立的函数,并通过函数的组合来完成任务。通过合理运用函数式编程的思想,可以减少代码的冗余和重复。
  5. 使用设计模式:设计模式是一种经过验证的解决问题的方法。通过使用适当的设计模式,可以将复杂的逻辑转化为简洁的代码。

总结起来,要写出更短的代码,不带"if",可以运用三元表达式、逻辑运算符、字典或映射表、函数式编程和设计模式等技巧。这些方法可以帮助简化代码逻辑,提高代码的可读性和可维护性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

我写出这样干净的代码,老板直夸我

再来看下面代码: int a=l; if(O==D) a=O1; else l=o1; 上面这串代码整的傻傻分不清O和0,l和1。简直亮瞎我的眼。...不过我会配上一套单元测试,覆盖每行丑陋的代码。 然后我打磨这些代码,分解函数、修改名称、消除重复。我缩短和重新安置方法有时我还拆散类。同时保持测试通过。...最后,遵循本章列出的规则,我组装好这些函数我并不从一开始就按照规则写函数。我想没人做得到 ❞ 就像写作文一样,好的代码也不是一次性写出来的,需要反复琢磨。...必要和不必要的注释 无用的注释 糟糕的代码才写注释,如果能用代码表达,为何还要加注释呢。 良好的注释能够提高代码的阅读效率。然而乱七八糟的注释有可能会搞坏这个功能。 注释会撒谎。...满足于仅仅让代码能工作的程序员不够专业。他们会害怕没时间改进代码的结构和设计,我不这么认为。没什么能比糟糕的代码给开发项目带来更深远和长期的损害了。进度可以重订,需求可以重新定义,团队动态可以修正。

38510
  • 谁再问我如何写出没有Bug的代码,我上去就是一jio!

    ,要这么说的话,会直接被怼回来:“你丫的自己不会用吧!”。 你可以换个说法:“咦,这里好像不对,是我操作错了吗?”,这时程序员心里就一咯噔:“Shit...不会是我代码有 bug 吧?”...按照常识,经验越丰富的老手写出来的代码,一次通过的几率更高,比如他们思考得会更周全,对异常的判断和处理更老练,边界条件把握得更精确,等等。...总之,不论是编程萌新还是编程老手都避免不了写出有 bug 的代码,况且谁还没有脑子短路的时候呢? 3.bug 还是 feature request? bug 这个概念的起源,就预示着它的不可避免性。...如今的计算机用户已经被宠坏了,在这样的时代下,bug 早已悄悄地泛化了。 所以,到底如何才能写出没有 bug 的代码呢? 答案:不写代码。 一个悲观又绝望却正确的唯一解。...恭喜,你们的项目经费增加了一点点。 英格兰有句谚语:Where there's muck,there's brass。 如此看来,“如何写出没有 BUG 的代码?”

    1.7K30

    为什么我代码里面选择top1000的sd基因绘制热图呢

    实际上写完了这个全网最好的差异分析代码:免费的数据分析付费的成品代码 我就可以收工用来,但是永远不能低估粉丝的疑惑数量,任何一个细节都会被拿出来剖析。...比如代码里面我挑选了top1000的sd基因绘制热图,然后就可以分辨出来自己处理的数据集里面的样本分组是否合理啦。其实这个热图差不多等价于PCA分析的图,被我称为表达矩阵下游分析标准3图!...左边的热图,说明我们实验的两个分组,normal和npc的很多基因表达量是有明显差异的 中间的PCA图,说明我们的normal和npc两个分组非常明显的差异 右边的层次聚类也是如此,说明我们的normal...为什么挑选top1000的sd基因绘制热图 我这个热图是为了说明本分组是否合理,就是看样本的距离,这个时候你如果需要理解距离,那么你需要学习非常多细节知识。...top5000= cutree(p4$tree_col,2), group_list=group_list) 这个时候,你会发现,好像不一样,我修改层次聚类的类别数量

    1.7K10

    为啥我的第二个for循环不加框红的代码就运行失效呢?(文末赠书)

    一、前言 前几天在Python最强王者群【哎呦喂 是豆子~】问了一个Python自动化办公的问题,一起来看看吧。 大佬们 请教个问题 为啥我的第二个for循环不加框红的代码就运行失效呢?...这个变量开头就有声明了 二、实现过程 这里【瑜亮老师】给了一个解答,如下所示: 后来还补充到:你可以去搜索一下generator的用法。...这个file_list的属性就是generator,而不是常规理解的list。想要重复用,可以list转换一下类型。生成器和列表的用法看着是一样的,都能遍历取值,但本质上还是有很大区别的。...后来【维哥】还提到了一个办法,如下所示: 相当于把生成器里边的元素一次性取出了。顺利地解决了粉丝的问题!

    11330

    『设计模式』开发设计的七大原则,我做人还是挺有原则,那些代码呢?

    一般也被简称开闭原则,开闭原则是设计中非常核心的一个原则。 开闭原则要求的是,类的行为是可以扩展的,而且是在不修改已有代码的情况下进行扩展,也不必改动已有的源代码或者二进制代码。...优点: 对软件测试的影响 软件遵守开闭原则的话,软件测试时只需要对扩展的代码进行测试就可以了,因为原有的测试 代码仍然能够正常运行。...可以提高代码的可复用性 粒度越小,被复用的可能性就越大; 在面向对象的程序设计中,根据原子和抽象编程可以提高 代码的可复用性。...通过松散类之间的耦合来降低类之间的相互依赖,这样在修改系统的某一个部分的时候,就不会影响其他的部分,从而使得系统具有更好的维护性。 那么哪些对象才能当做朋友呢?...过大的大接口里面通常放置许多不用的方法,当实现这个接口的时候,被迫设计冗余的代码。

    61710

    为什么我一行代码就可以完成3个R包的RNA-seq差异分析呢

    在教师节收到学生提问,刷我B站74小时视频的时候看到我演示了RNA-seq差异分析只用了一行代码就完成了3大R包的全部分析,并且输出了对应的图表结果,觉得很神奇,但是B站视频并没有配套讲义和代码还有测试数据...使用我包装好的函数即可 可以看到,下面的代码非常简洁,因为仅仅是使用了 run_DEG_RNAseq 函数,就根据表达矩阵和分组信息,完成了全部的分析!...下面的图表是如何自动出来的呢? ? 因为这个 run_DEG_RNAseq 函数的代码非常长,这里我就不贴在公众号了哈,大家可以在我的GitHub的GEO项目找到它!...GEO传奇代码 一不留神,这个GEO项目就成为了点赞数最多的,直接孵化出12篇数据挖掘类SCI文章,至于间接的那些就不计其数了,因为大家都是偷偷的使用,也不告诉我,甚至某些别有用心者还不告诉身边的人,要一个人独享这些代码...当然是啊,都会写代码了,还有什么是不能为所欲为的呢? 同样的,代码也是在GitHub,需要你仔细理解,不过我有一个小小的要求,请不要把我的代码雪藏,或者刻意隐瞒。

    1.7K62

    号称学习Python路上的明灯,深受挪威教授爱戴,究竟神奇在何处?

    是因为他们一开始努力的方向就错了,一旦方向错了,无论你怎么努力最后还是在原地踏步。 ? 那怎样才能正确的选择方向呢? 首先你要想你当初为什么想学习Python呢?...有没有自己去想过自己为什么要去学习Python呢? ? 学习Python的优势是什么?...1、Python易于学习 你问老程序最“简单”的一门语言是什么,他们肯定会说是Python,当然我说的这么简单并不是想象中的那种一看就会,一听就懂,但是相对其他的语言来说,Python还是相对比较简单的那位...2、Python能用少量的代码编辑出很多功能 假如用C语言写一个东西,可能需要500行代码,用java写可能需要200行代码,用Python的写的话可能50行不到就能写出来,Python能带给所有开发者一个快速的学习体验...,通过实践,可能你学习Python两天之内就可以轻松写出一个功能具备的基础游戏。

    35310

    问与答130:如何比较两列文本是否完全相同?

    Q:最近,我的一项任务是需要比较包含多行数据的两列中,每行对应列的文本是否完全相同。...怎样才能进行区分大小写的比较呢? A:可以使用EXACT函数。 =EXACT(文本1, 文本2) EXACT函数比较两个字符串是否完全相同,它执行区分大小写的比较。...因此,应以其他方式比较它们的ASCII值。 可以使用公式: =CODE(MID(text, {1;2;3;4;5;6;7;8;9;10}, 1)) 获取每个字符的代码。...这里,假设要测试的任何字符串的最大长度只有十个字符。更短的字符串对于MID函数来说没有问题,那是因为当MID函数尝试返回例如一个四字符字符串的第十个字符时,它返回一个空字符串。...那么,如何比较两个数组呢?

    2K30

    读了140000个灵ཀ异ཀ帖ཀ子ཀ,MIT想教AI写恐ཀ怖ཀ故ཀ事ཀཀཀ

    △ 恐怖电影《死寂》里的木偶造型 MIT的研究人员想让Shelley更了解机器怎样才能唤起人类的情感反应。...“人工智能领域的迅速发展已经让人类开始担心未来的一切,从担心大规模失业到被邪恶机器人灭绝,”研究人员Iyad Rahwan表示,“我们知道AI在抽象意义上让人感到恐惧,那么,在内脏感官上呢?” ?...以惊悚小说《弗兰肯斯坦》作者Mary Shelley命名的这个AI程序是交互式的。Shelley写出开头后,会根据Twitter上的评论继续这个故事。如果受欢迎,它还会对评论做出回应。...Shelley读过Reddit上Nosleep栏目中140000多个惊悚故事,因此能熟练写出质量还不错的恐怖故事开头。 ? Shelley的有些故事看起来很蠢: ?...我从未见过它,因为它把我逼疯了,我动弹不得。我所能做的就是站在那里,睁大眼睛,盯着那堵墙,大声尖叫着,但声音很大,我受不了了。

    79140

    为什么程序员都应该专注于写作

    这就是为什么我相信,**写**代码,跟复制代码片段是完全截然不同的。因为当你真正写它的时候,你巩固了这个知识。写作是一种学习的方式如果你想要学习一个新的课题,你可以写一些关于它的内容。...诸如:不一致、缺失细节,或者只是我们的大脑”懒惰”地思考,这些实际上是没有意义的。怎样才能写得更多========记住:阅读是一种习惯,写作是一种技巧。为了提升你的技巧,你必须要写得更多。...使它变得更短——并且没有遗漏关键点,使它变得更长——尽可能的覆盖更多用例写一些关于你的工作的设计方案和文档,是一种能够让你快速进入写作模式的方法。无论如何你都必须这样做,所以为什么不在写作时改进呢?...如果写博客让你感到畏惧,请考虑在社区上回答问题,但重点是提供文本内容,而不是复制粘贴代码片段。最后一个建议——不要复制粘贴。我指导过的许多程序员只是简单地复制粘贴所有内容。代码片段,函数声明,等等。...感谢你的收看,欢迎关注我和我的专栏,解锁更多最新技术文章 我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

    20210

    写注释就能自动出代码?copilot 尝鲜

    目前我测试了 JS 和 Python,效果都还蛮不错的。官方提供了 ts,go,py 和 rb 语言的示例。 注释即代码 你可以通过编写注释然后一路根据 copilot 的提示编写出完整的程序。...我只需要写下这样一行注释。以 JS 为例: // 根据 Github 用户名获取用户信息 copilot 是如何一步步引导你完成完整功能的呢?我们来看下。...copilot 可以根据你的代码仓库以及世界上公开的代码仓库提示你可能的输入,从而减少你敲击键盘的次数,在更短的时间写出更多的代码,获取更多的摸鱼时间。 举个例子,仍然以 JS 为例。...fetch('https://www.leetcode-solution.cn', { 它就提示我: 接下来按照它的提示,只按 tab 不写代码的情况就可以写出如下代码。...另外也可关注我的另外一个专注算法的公众号力扣加加。 后台回复:每日一荐,自动获取我为大家总结的每日一荐月刊,内含精品文章,实用技巧,高效工具等等

    7.3K20

    离岛日签|微信二维码海报自动生成器

    大家应该也知道前段时间我开发了一个微信小程序:离岛日签,在正式上线后收到了一些用户的反馈,有说希望可以将每日的图文信息保存下来的,也有希望可以将图文信息分享到朋友圈的,那么基于这些需求,我给小程序增加了长按保存图文卡片的功能...一般用于推广的海报或卡片样式都差不多,需要改变的主要就是用户的二维码,所以只需要准备好海报的背景图,然后根据用户提供的二维码,将其贴在海报指定的位置上即可。...这个工具我已经上传到pypi仓库,大家可以直接安装使用: 其中VOL1.jpeg是海报背景图,qr.png是用户二维码图片,最终会在当前目录下生成qrVOL1.jpeg,效果图如下: 小工具的参数说明:...: 这里贴一下代码的主要实现部分: 想要看源码可以直接访问:https://github.com/logan62334/qr-poster-maker,或者点下面的阅读原文链接。...对了有人可能会发现微信二维码下载下来是带logo的,怎样才能生成不带logo的二维码呢?这里推荐大家使用草料二维码:https://cli.im/weixin。

    1.1K20

    怎样才能叫高级程序员?

    可是除了依靠直觉,一屋子的人里却没有一个能够把大家的想法归纳起来,到底要怎样才能叫做“高级”。...当我们没有明确具体的标准,只能凭着直觉来判断一个人的资历的时候,我们就没有办法不带有偏见,但我们还是要做出判断。...如果他还会非常严谨的为项目的核心代码写出全面、高质量的测试用例并用于持续集成,你就差不多可以认为他在技术能力上达到了高级水平。...我见过很多这样的人,从代码集训营中出来两三年后就已经成了非常好的高级程序员。 更多要讨论的 这篇文章留下了非常多未能回答的问题。我们在这三个方面是用什么具体方法来评估候选人的能力和特质的?...如果你对文中内容有问题或者不同想法,你可以在 Twitter(@tehviking)上找我,或者更好的方式是,你也把你的想法写出来,我会在我的文章里链接过去。

    38130

    怎样才能叫高级程序员?

    可是除了依靠直觉,一屋子的人里却没有一个能够把大家的想法归纳起来,到底要怎样才能叫做“高级”。...当我们没有明确具体的标准,只能凭着直觉来判断一个人的资历的时候,我们就没有办法不带有偏见,但我们还是要做出判断。...如果他还会非常严谨的为项目的核心代码写出全面、高质量的测试用例并用于持续集成,你就差不多可以认为他在技术能力上达到了高级水平。...我见过很多这样的人,从代码集训营中出来两三年后就已经成了非常好的高级程序员。 更多要讨论的 这篇文章留下了非常多未能回答的问题。我们在这三个方面是用什么具体方法来评估候选人的能力和特质的?...如果你对文中内容有问题或者不同想法,你可以在 Twitter(@tehviking)上找我,或者更好的方式是,你也把你的想法写出来,我会在我的文章里链接过去。

    29520

    怎样才能叫高级程序员

    可是除了依靠直觉,一屋子的人里却没有一个能够把大家的想法归纳起来,到底要怎样才能叫做“高级”。...当我们没有明确具体的标准,只能凭着直觉来判断一个人的资历的时候,我们就没有办法不带有偏见,但我们还是要做出判断。...如果他还会非常严谨的为项目的核心代码写出全面、高质量的测试用例并用于持续集成,你就差不多可以认为他在技术能力上达到了高级水平。...我见过很多这样的人,从代码集训营中出来两三年后就已经成了非常好的高级程序员。 更多要讨论的 这篇文章留下了非常多未能回答的问题。我们在这三个方面是用什么具体方法来评估候选人的能力和特质的?...如果你对文中内容有问题或者不同想法,你可以在 Twitter(@tehviking)上找我,或者更好的方式是,你也把你的想法写出来,我会在我的文章里链接过去。

    73560

    Developer进阶书单

    再来一本某某语言,或者框架的实战,与权威指南,你就可以完成工作了。 然后呢? 说明: 完成工作是一件很容易的事,如何更好地完成工作就需要更多地学习。...虽然我不是TDD的死忠,但是我觉得TDD还是很有好处的。特别是当你的函数特别长的时候,它可以驱使你写出更短的函数——更多的函数。红->绿->重构,就是这么简单。...《重构: 改善既有代码的设计》: 红->绿->重构。如果重构之前没有测试,我相信你可能是想换个工作了。好的代码是重构出来的,而不是一开始就写出来的——除非你的代码不用于任何业务。...《代码整洁之道》: 书中给了很方法与规范,遵循它们可以写出整洁的代码。但是整洁并不意味着你应该让代码简单! 《重构与模式》: 这本书的中文名字应该叫《重构到模式》!!!重构代码到设计模式就这么简单。...机器学习读书路线 机器学习依赖于大量的数据和理论知识,而数据又可以创造出美妙的数据可视化图像。 ? 持续交付读书路线图 敏捷是过去,持续交付是现在,未来呢?

    801100

    怎样才能叫高级程序员?

    可是除了依靠直觉,一屋子的人里却没有一个能够把大家的想法归纳起来,到底要怎样才能叫做“高级”。...可以在白板上默写出来某个计算机科学的算法 写过一个开源库并且在公司里用起来了 这些定义之间相差实在太远了。...当我们没有明确具体的标准,只能凭着直觉来判断一个人的资历的时候,我们就没有办法不带有偏见,但我们还是要做出判断。...如果他还会非常严谨的为项目的核心代码写出全面、高质量的测试用例并用于持续集成,你就差不多可以认为他在技术能力上达到了高级水平。...我见过很多这样的人,从代码集训营中出来两三年后就已经成了非常好的高级程序员。 更多要讨论的 这篇文章留下了非常多未能回答的问题。我们在这三个方面是用什么具体方法来评估候选人的能力和特质的?

    68080
    领券