玩鱼缸的新手都知道有一种鱼叫“闯缸鱼”,皮实好养,帮助新手判断鱼缸环境是否准备好。这篇笔记,最初用来解答一个编程新手的疑问,后来我发现,整理一下也可当做有兴趣自学python 编程朋友们的“闯缸鱼”。

看懂本文,再决定要不要自学 python 编程吧!

想要实现需求与写代码的环境

你想用 python 实现整数加和。这个需求是如何产生的,已经不再重要。你只想知道 python 代码是如何实现这个需求的。

下面我提供 3 种实现方法,并分别称之为:

  • A:路人都会,有点笨拙。
  • B:超级简约,仅一句代码。很好掌握的 python 基础功。
  • C:重复发明轮子。其实也是 python 基础功。

下面的代码及运行结果,是我直接在 xue.cn 网页上敲出来的,它能让零基础编程自学者无需安装任何环境,网页上就能写代码,运行代码。如果你想试试自学 python 编程,博客园站内私信我,或者文章留言找我拿 30 天的时长兑换码。

实现方法A:路人都会,但很笨拙

我直接输入算式,然后回车,就能运行得到结果。简单到令人怀疑:

这是 python 编程吗?!

其实,可以增加一句变量赋值,然后再把保存了加和结果的变量用 print() 打印出来。

直接输入算式,运行得到结果,是简单好用粗暴有效的技能。但为啥说这个方法笨拙呢?试想,当你想要计算 1 到 100 的加法,手动敲入 1 至 100 的整数 …… 想想都好累啊。不是说好学会编程能解放人力嘛?

由此可知:直接运行的方法,仅能适用于计算次数少的算式。

实现方法B:超级简约,仅一句代码

这个方法中sum()range() 是新手必须掌握的基础函数,简单好用。python 自带许多基础函数,功能强大,直接使用即可。

  • 使用range() 来表达 1至100 的整数,其中range(1,101) 包含左侧1,不包含右侧101,所以刚好代表1至100的整数。
  • 使用 sum() 实现加和。

实现方法C:重复发明轮子

如果不使用 sum()range() ,代码还能怎么写呢?现在和我一起重复制造轮子,咱们写代码实现内置函数 sum()range() 的功能。不难,条件控制语句而已。

# 计算整数 start 到 end 的和,不使用 sum 和 range
start = 1
end = 100
result = 0
while start <= end:
result += start
start += 1
print(result)

其实你可以留意到,我把整数加和的起点和终点,都赋值给变量,这样简单改一下最上面2行赋值语句的值,就可以计算其它整数到整数的加和。

稍微改写一下,把它封装为一个函数,供以后重复使用。——瞧,最重要的基础功,自定义函数,也没那么难。

运算量非常大会怎样?

无论是1到100,还是1到10000,人脑算起来吃力,电脑却很简便快速。不管电脑多么善于快速计算,也总是有时耗。

下面我简单增加几句代码,用来记录代码的运算时间。这里我用到了一个 time 模块,需要 import 导入它。

计算 1 到 100 加和,用了 0.0012 秒。

计算 1 到 10000 加和,用了 0.09 秒。

计算 1 到 1000000 加和,用了 1.3 秒。

嗯,有意思~ 电脑果然就是比人脑在大量运算方面强劲不怠哇!

“闯缸鱼”

玩鱼缸的新手都知道有一种鱼叫“闯缸鱼”,皮实好养,帮助新手判断鱼缸环境是否准备好。这篇笔记,最初用来解答一个编程新手的疑问,后来我发现,整理一下也可当做有兴趣自学python 编程朋友们的“闯缸鱼”。

如果你没学过编程,居然也能有兴趣看完全文,甚至看懂大部分内容,那你就牛逼啦,python 可以考虑学起来,让电脑帮你解放部分重复性劳动吧。

闯缸鱼:看懂python如何实现整数加和,再决定是否自学编程的更多相关文章

  1. 一文看懂python主要应用领域或应用场景

    Python简介 Python(英国发音:/ˈpaɪθən/美国发音:/ˈpaɪθɑːn/),是一种面向对象的解释型计算机程序设计语言,由荷兰人GuidovanRossum于1989年发明,第一个公开 ...

  2. 一文看懂Python的面向对象编程

    之前在网络上看了很多关于面向对象的编程详解,还是不够过瘾,所以决定自己动手写一篇. 面向对象:Object Oriented Programming,简称OOP,即面向对象程序设计. 类(Class) ...

  3. 3分钟看懂Python后端必须知道的Django的信号机制!

    概念 django自带一套信号机制来帮助我们在框架的不同位置之间传递信息.也就是说,当某一事件发生时,信号系统可以允许一个或多个发送者(senders)将通知或信号(signals)发送给一组接受者( ...

  4. 一图看懂python对excel的读写

  5. c#代码 天气接口 一分钟搞懂你的博客为什么没人看 看完python这段爬虫代码,java流泪了c#沉默了 图片二进制转换与存入数据库相关 C#7.0--引用返回值和引用局部变量 JS直接调用C#后台方法(ajax调用) Linq To Json SqlServer 递归查询

    天气预报的程序.程序并不难. 看到这个需求第一个想法就是只要找到合适天气预报接口一切都是小意思,说干就干,立马跟学生沟通价格. ​ ​不过谈报价的过程中,差点没让我一口老血喷键盘上,话说我们程序猿的人 ...

  6. 一文看懂Stacking!(含Python代码)

    一文看懂Stacking!(含Python代码) https://mp.weixin.qq.com/s/faQNTGgBZdZyyZscdhjwUQ

  7. 5分钟看懂系列:Python 线程池原理及实现

    概述 传统多线程方案会使用"即时创建, 即时销毁"的策略.尽管与创建进程相比,创建线程的时间已经大大的缩短,但是如果提交给线程的任务是执行时间较短,而且执行次数极其频繁,那么服务器 ...

  8. 13张动图助你彻底看懂马尔科夫链、PCA和条件概率!

    13张动图助你彻底看懂马尔科夫链.PCA和条件概率! https://mp.weixin.qq.com/s/ll2EX_Vyl6HA4qX07NyJbA [ 导读 ] 马尔科夫链.主成分分析以及条件概 ...

  9. c#实现最简快速排序,你绝对可以看懂

    原创文章,转载请注明出处 算法对于程序员的重要性不言而喻,今天我和大家分享算法中的一个基础算法,快速排序.作为一名程序员,相信大家都不陌生,但是要大家徒手一次性写出来,我估计还是有难度的.那么废话不多 ...

随机推荐

  1. 某CTF平台一道PHP代码审计

    这道题不是说太难,但是思路一定要灵活,灵活的利用源码中给的东西.先看一下源码. 首先要理解大意. 这段源码的大致的意思就是,先将flag的值读取放在$flag里面. 后面再接受你输入的值进行判断(黑名 ...

  2. Android9.0 MTK 平板横屏方案修改(强制app横屏 + 开机logo/动画+关机充电横屏 + RecoveryUI 横屏)

    文章较长建议先收藏再看 拆解步骤 1.app 强制横屏显示,无视 android:screenOrientation="portrait" 属性 2.屏幕触摸坐标修改为横屏 3.开 ...

  3. NOIP2011计算系数;

    #include<cmath> #include<algorithm> #include<stdio.h> #include<iostream> #de ...

  4. 终端 10X 工作法(一)

    目录 1. Terminal 2. Grep 3. Sed 4. Awk 5. Xargs 6. Find 在 github 上面有一个 700 多人 star 的 repo 叫做 Bash-Onel ...

  5. POJ-2083 Fractal-X星阵图

    Description A fractal is an object or quantity that displays self-similarity, in a somewhat technica ...

  6. MySQL索引的建立与实现

    一.索引介绍 1.MySQL中,所有的数据类型都可以被索引,索引包括普通索引,唯一性索引,全文索引,单列索引,多列索引和空间索引等. 2.额外的:我已知的自动创建索引的时机:创建主键,唯一,外键约束的 ...

  7. openssl之DH(Diffie–Hellman)加密

    //加密机制初始化 g_HDMgr.init(); //对方的public key BIGNUM* peerPubKey = NULL; peerPubKey = BN_bin2bn((unsigne ...

  8. Windows突破远程连接最大数去掉限制登录

    当对方设置最大连接数 超过限制时 可以用这个命令 win+r  输入 mstsc /v:192.168.18.131:3389 /console   windows server 2003 sp2 以 ...

  9. 百万年薪python之路 -- JS的BOM与DOM对象

    BOM对象 location对象 location.href 获取URL location.href="URL" // 跳转到指定页面 location.reload() 重新加载 ...

  10. 远程桌面连接(mstsc)

    目录 1. 序言 2. 准备工作 3. 内网远程连接(以mstsc的方式) 4. 问题---凭据不工作 5. 外网远程连接(mstsc) 6. 结语 更新时间:2019.09.10 1. 序言 有时候 ...