百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

什么是计算机语言?专家用Python实战回答,从一个过程的模拟开始

off999 2024-11-09 12:50 15 浏览 0 评论

计算机语言,本质上是数学语言的工程化。

那么,什么叫数学语言的工程化?数学语言具有非常高的抽象性,当前的计算机没办法理解。那么我们需要一个中间语言来做一个中介,并且这个中介使用起来非常方便,对数学的要求也不高,这样的中介,就是工程化。


Python语言中,有很多的语法,我不想多教科书式的去讲。我喜欢带着问题迭代。好的,那我们就开始我们的问题:

在一群人里面,高低不同,我想让最高的那个家伙,走到最前面来,而且是沿着他的位置,穿过每个人走到最前面,当与某个人重合时,被重合的人就后退到最高的人的位置。就这样一个过程,我们用计算机模拟一下。

1、用一个东西记录高矮,变量

首先我们要有一个东西来记录高矮。

在计算机里称为变量。你懂的,就是和初中那个变量x是一样的。只是名字你可以随便起。

在python里,这个实在是太简单。

比如高度是160单位cm。

下面那个print就是打印出来的意思。

运行一下,

显示出来了,160.

多简单啊。

在python里,变量是可以随便设置的,你大可不必担心出错。在错误中学习是最快的方式。出错了怎么办?万能搜索引擎可以帮助你。

2、建立一个一群人的高矮的数据,列表

我们是模拟一群人的高矮的,个数少我们可以一个一个的定义。但是多了呢?

Python给了一个东西叫列表。

列表就是把一堆乱七八糟的东西放在一起的一个小组。

这个是一个用中括号括起来的一堆东西, 如

[身高1,身高2,身高3,身高4,衣服,香蕉]

比如,我们设置有10个人的身高列表,可以这样定义


Pycharm用灰色的提示,你用中文不好吧,毕竟这个语言是外国人写的。而且中文编码比较繁琐啊!

下面我们就用字母来替代吧!下面我们用heights替代一群人的身高。

所有存储在变量里的内容,我们有一个比较常用的称谓,叫数据。

本质上程序有两部分组成,数据和算法。

以下是一些操作。(补充一下,python的注释是#开始的一行一行的)

按顺序,列表从第一个到第十个,指标从0-9,取值


这里使用了print的用法,里面的参数用逗号隔开,分别显示。如果是字符,则用单引号,或者双引号,或者三个引号包围。


这样操作似乎太麻烦,这里我们介绍一下for循环

for i in 列表:

操作

这样的语法。

特别说明,上面的“操作”前面是一个tab的位置,或者四个空格。这个是python特有的间隔方式,用来表示不同层级之间的区分。如果“操作”是在for循环下的,所以操作要比for多一个间隔,这个间隔叫缩进。

for 循环,就是把列表中的值一个一个的取出来分别进行“操作”运算。

例如上面我们说的显示列表中的值,

运行后是这样的


好了,这样我们就建立了一个一群人的高矮的数据heights。

详细的操作,大家可以搜索,这里不做深入的探讨,我们只介绍到做到我们的模拟需要的最小知识点。

3、找到那个高个子,并且找到这个人的位置

这是我们遇到的第一个算法。如果是两个人,我们怎么做?

(1)先比较谁高,这个简单,数字大的就是高个子,这个计算机会

(2)记住这个人的位置

(3)把这个高个子和其他的人比,再记住高一点的那个家伙的位置。

如果是一群人呢,我们怎么做?

(1)第一个和第二个比

(2)记住高个子的位置

(3)高个子的和第三个比,记住高个子的位置

(4)继续下去

大家可以考虑一下怎么完成。

可以先用伪语言描述一下。

什么是伪语言?

伪语言就是不管你用什么语言,可以描述清楚操作就可以的描述方式。

我们使用另外一种,我们先准备一个和heights一样大小的列表,把所有的值都设定为0.

这里介绍两个列表操作。

(1)列表的乘法

假设另一个列表是影子,名字叫shadow

shadow = [0] * 10

这样我们就获得了一个含有十个0的列表shadow

(2)获取列表是一串0-9的数字

有一个函数range(10)

不过,这个不是列表那么简单。但是估计这样想吧,可以认为是类似列表的东西。

我们继续我们的模拟,先用伪语言把要做的事说清楚。

(1) 定义一个变量height,用max函数算出最大的值赋值给height

(2) 定义一个tall_position 用来存储位置

(3) 用for循环,取出所有的人的高度比较

for position in range(10):

如果heights[position]=height

tall_position = position

否则,不变

这样我们就找到了那个最高的人在哪个位置。

代码如下:


解释一下,

Line1:就是我们的一群人的高度列表heights

Line2:用了max函数计算了heights中最大值

Line3:定义了一个tall_position用来存储位置

Line4-8:做了一个for循环

Line5-6: 判断position位置的人高度是不是和最高的height一样高

如果一样高,就把这个位置记录下来。

Line7-8: 反之,pass,这个就是表示什么都不做。

这里使用了if 。。。else。。。函数,使用方法就如上面代码一样。

Line9:打印结果

4、让高个子的人按顺序从他原来的位置移到第一个位置。

回顾一下问题:

在一群人里面,高低不同,我想让最高的那个家伙,走到最前面来,而且是沿着他的位置,穿过每个人走到最前面,当与某个人重合时,被重合的人就后退到最高的人的位置。

我们知道现在的位置是tall_position的位置。我这里定义的向前,是指向数字小的地方。也就是从tall_position移动到0.

伪语言:

开始

Shadow =heights

for position in range(tall_position):

heights 列表的tall_position-position-1位置的值

赋值给Shadow列表tall_position-position位置的值

height值

赋值给Shadow列表tall_position-position-1位置的值

打印出列表

结束

这里涉及到交换,如果我们有shadow这个列表了就很简单了,只要做两次赋值就可以了shadow[tall_position-position]=heights[tall_position-position-1]

shadow[tall_position-position-1]=height

代码如下:

看一下运行结果:

这就是我们预想的!

那么这个模拟我们就完成了。

这里有一个问题,我们继续在程序下面打印一下shadow和heights的值我们比较一下:

居然一模一样。说明什么问题?

大家思考一下?

说明列表在赋值的过程中其实是一个对应。也就是说,我赋值给了shadow,但是shadow不是一个新的列表,只是heights列表的另一个名字,或者说影子。影子是跟着主人变的。

备注:移动过程模拟材料:变量赋值、列表赋值、for循环、if 判断、max函数、range函数

相关推荐

fat32u盘(FAT32u盘多少钱一个)
  • fat32u盘(FAT32u盘多少钱一个)
  • fat32u盘(FAT32u盘多少钱一个)
  • fat32u盘(FAT32u盘多少钱一个)
  • fat32u盘(FAT32u盘多少钱一个)
不用拉网线的路由器是真的吗

是真的不插卡不拉线有线就有网,这11个字其实就涵盖了无线路由器的特点,无线路由器免插卡、不用拉网线,完全摆脱了之前家用路由器和网线捆绑的模式,有电就有网,其实说的就是无线路由器的使用操作简单,通电就可...

微信恢复好友怎么弄回来(vx好友恢复)
  • 微信恢复好友怎么弄回来(vx好友恢复)
  • 微信恢复好友怎么弄回来(vx好友恢复)
  • 微信恢复好友怎么弄回来(vx好友恢复)
  • 微信恢复好友怎么弄回来(vx好友恢复)
u盘检测软件下载(u盘测试软件)

1、u盘芯片检测工具(ChipEasy)可以查看USB设备PID、VID、SN、制造商、产品名等;2、查看USB设备主控芯片信息、闪存芯片信息、固件信息、电流控制3、SSD型号...

电脑现在什么系统最好(电脑现在用什么系统好)

WINXP好用,但过时了。VISTA不好用,没推开就夭折了。WIN8/8.1是针对触模屏设计的,如果你用的不是触摸屏平板电脑是普通电脑,使WIN8/8.1总觉着很蹩扭。新出的WIN10,功能...

账号怎么注册(steam账号怎么注册)

如果注册是qq账号【qq号码的申请办法】【1】双击qq登陆界面,在qq帐号填写空格的后面你可以看见:[申请帐号];【2】点击[申请帐号]进入,就可以在网上免费申请号码了;【3】进入www.qq.com...

tmp文件是什么意思(tmp文件有什么用)

在系统C:\Windows\Temp文件夹中,我们经常会发现一些后缀名为TMP的文件,在该文件夹中的这些文件其实都是临时文件。它们可能是系统被误关机,或者其他程序没有删除而生的。而且在该文件夹中还有其...

怎么给u盘格式化(怎么给u盘格式化成FAT32)

u盘插入电脑,等待桌面弹出u盘图标。打开“计算机”。左键选中u盘,单击右键,在弹出的菜单中,点击“格式化”。点击“开始”,点击“确定”即可。格式化u盘详细步骤1、找到U盘盘符,鼠标右键点击,弹出菜单中...

harmonyos主题下载(harmonyos主题怎么换)

首先,打开荣耀手机的应用市场,在搜索框中输入“华为鸿蒙主题”,然后点击搜索。找到“华为鸿蒙主题”应用后,点击下载即可。下载完成后,打开“华为鸿蒙主题”应用,选择心仪的主题,点击下载并应用即可享受华为鸿...

戴尔笔记本电脑黑屏却开着机

对于电脑黑屏的处理基本上采用排除、替换相结合的方法,其原则应本着先替换排除可疑性最大的部件。对于普通电脑用户来讲,专业知识不足,可以按下列步骤分析故障原因,以便可以自己动手排除故障。首先检查接触是否良...

手机版电脑桌面下载(手机电脑桌面下载软件安装包)

只有电脑版手机助手软件,没有手机桌面这个软件在电脑上点击今日头条APP下载安装即可哦你好,陌陌电脑版如果说你想要下载到电脑桌面的话,你只需要长按把它添加到你的电脑桌面就可以了。要将软件下载到桌面并创建...

ghost备份中文图解(ghost备份1837)

其实是这样的ghost文件备份后会生成两个文件一个是.GHO一个是.GHS文件FAT32格式的分区,单个文件最大只支持到2G(2048M),如果你的镜像>2G,这时的做的GHOST在一个文件里装...

win10一键重装win7(win10一键重装系统)

1、首先准备一个4GB以上可以正常使用的U盘。2、在一个可以正常使用的电脑上,下载老毛桃软件并安装。3、去网上下载所需的win7,win10选择自己所需要的系统,并下载下来。4、插入u盘并打开老毛桃...

戴尔按f12还原系统步骤win10

基本上正常的话是f8,如果你希望他变成年,F12,你要打开设置去连,然后把这个快捷键的位置调一调戴尔的键盘f1到f12恢复原功能的方法:1、可能是操作者操作有误的原因,使键盘没有任何反应。2、根据复合...

qq网页版官网(qq1网页版)
qq网页版官网(qq1网页版)

https://aq.qq.com/cn2/indexQQ安全中心是腾讯公司推出的QQ帐号保护软件,为广大QQ用户提供一站式的QQ安全服务,包括了密保管理、帐号保护、安全体检、修改密码、帐号申诉等功能,让账号更加安全可靠。为了全面保护QQ帐...

2025-11-18 15:03 off999

取消回复欢迎 发表评论: