tft每日頭條

 > 圖文

 > python是人工智能的入門編程語言

python是人工智能的入門編程語言

圖文 更新时间:2024-12-03 18:54:45

python是人工智能的入門編程語言?計算機語言,本質上是數學語言的工程化,現在小編就來說說關于python是人工智能的入門編程語言?下面内容希望能幫助到你,我們來一起看看吧!

python是人工智能的入門編程語言(什麼是計算機語言)1

python是人工智能的入門編程語言

計算機語言,本質上是數學語言的工程化。

那麼,什麼叫數學語言的工程化?數學語言具有非常高的抽象性,當前的計算機沒辦法理解。那麼我們需要一個中間語言來做一個中介,并且這個中介使用起來非常方便,對數學的要求也不高,這樣的中介,就是工程化。

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函數

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved