闯缸鱼:看懂python如何实现整数加和,再决定是否自学编程
玩鱼缸的新手都知道有一种鱼叫“闯缸鱼”,皮实好养,帮助新手判断鱼缸环境是否准备好。这篇笔记,最初用来解答一个编程新手的疑问,后来我发现,整理一下也可当做有兴趣自学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如何实现整数加和,再决定是否自学编程的更多相关文章
- 一文看懂python主要应用领域或应用场景
Python简介 Python(英国发音:/ˈpaɪθən/美国发音:/ˈpaɪθɑːn/),是一种面向对象的解释型计算机程序设计语言,由荷兰人GuidovanRossum于1989年发明,第一个公开 ...
- 一文看懂Python的面向对象编程
之前在网络上看了很多关于面向对象的编程详解,还是不够过瘾,所以决定自己动手写一篇. 面向对象:Object Oriented Programming,简称OOP,即面向对象程序设计. 类(Class) ...
- 3分钟看懂Python后端必须知道的Django的信号机制!
概念 django自带一套信号机制来帮助我们在框架的不同位置之间传递信息.也就是说,当某一事件发生时,信号系统可以允许一个或多个发送者(senders)将通知或信号(signals)发送给一组接受者( ...
- 一图看懂python对excel的读写
- c#代码 天气接口 一分钟搞懂你的博客为什么没人看 看完python这段爬虫代码,java流泪了c#沉默了 图片二进制转换与存入数据库相关 C#7.0--引用返回值和引用局部变量 JS直接调用C#后台方法(ajax调用) Linq To Json SqlServer 递归查询
天气预报的程序.程序并不难. 看到这个需求第一个想法就是只要找到合适天气预报接口一切都是小意思,说干就干,立马跟学生沟通价格. 不过谈报价的过程中,差点没让我一口老血喷键盘上,话说我们程序猿的人 ...
- 一文看懂Stacking!(含Python代码)
一文看懂Stacking!(含Python代码) https://mp.weixin.qq.com/s/faQNTGgBZdZyyZscdhjwUQ
- 5分钟看懂系列:Python 线程池原理及实现
概述 传统多线程方案会使用"即时创建, 即时销毁"的策略.尽管与创建进程相比,创建线程的时间已经大大的缩短,但是如果提交给线程的任务是执行时间较短,而且执行次数极其频繁,那么服务器 ...
- 13张动图助你彻底看懂马尔科夫链、PCA和条件概率!
13张动图助你彻底看懂马尔科夫链.PCA和条件概率! https://mp.weixin.qq.com/s/ll2EX_Vyl6HA4qX07NyJbA [ 导读 ] 马尔科夫链.主成分分析以及条件概 ...
- c#实现最简快速排序,你绝对可以看懂
原创文章,转载请注明出处 算法对于程序员的重要性不言而喻,今天我和大家分享算法中的一个基础算法,快速排序.作为一名程序员,相信大家都不陌生,但是要大家徒手一次性写出来,我估计还是有难度的.那么废话不多 ...
随机推荐
- kotlin系列文章 --- 1.初识kotlin
简介 Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由Jetbrains设计开发,现在是Android官方开发语言,和Java具有互操作性,可以共存. 为什么选择kotlin? 简 ...
- Laravel Entrust 权限管理扩展包的使用笔记
简介 Entrust 是一个简洁而灵活的基于角色进行权限管理的 Laravel 扩展包.针对 Laravel 5,官方推荐的安装版本是 5.2.x-dev.它的详细使用方法请查看 Entrust Gi ...
- 【windows】远程桌面 把远程服务器的explorer.exe进程关掉了,咋办?
在操作windows2008R2服务器时不小心把explorer.exe进程关闭了,瞬间整个界面就蓝色了. 重启,做不到,各种快捷键用不了,最后发现Alt+Tab可以用,刚好打开了IIS, 打开其中一 ...
- Spring Boot WebFlux 快速入门实践
02:WebFlux 快速入门实践 Spring Boot 2.0 spring.io 官网有句醒目的话是: BUILD ANYTHING WITH SPRING BOOT Spring Boot ( ...
- link 和 @import 的区别是什么?
link语法结构: <link href="url" rel="stylesheet" type="text/css"> @im ...
- Java容器总结
容器总结 Java容器工具包框架图 List,Set,Map三者的区别 List(对付顺序的好帮手): List接口存储一组不唯一(可以有多个元素引用相同的对象),有序的对象 Set(注重独一无二的性 ...
- 构造函数语义学——Default Constructor篇
构造函数语义学--Default Constructor 篇 这一章原书主要分析了:编译器关于对象构造过程的干涉,即在对象构造这个过程中,编译器到底在背后做了什么 这一章的重点在于 default c ...
- 流包装器实现WebShell免杀
说明: 本文首发自 https://www.secpulse.com/archives/73391.html ,转载请注明出处. 前言 本文是看PHP使用流包装器实现WebShell有感,权当做个笔记 ...
- Neo4j:图数据库GraphDB(三)创建删除及高级操作
本片继续前几篇介绍图数据库的创建,有疑问可以我的看看前两篇文章:http://www.cnblogs.com/rongyux/p/5537206.html 四 图数据库的创建 1 创建一个节点 P ...
- VS2017-Linux项目-使用第三方库如何配置
1.虚拟机Ubuntu 16.04,安装第三方库,perftools::tcmalloc. 2.Win10下vs2017创建linux项目. 3.项目>>属性>>VC++ 目录 ...