Prolog 1 0 基礎語法與概念

2022-09-18 04:45:30 字數 1289 閱讀 3146

【概述】

prolog的語法與其它常用語言(如c,j**a等)不同,它更接近於自然語言。

【例項】

當我想表示「mia是以女人」這個事實(之後會提到事實這個概念)的時候,我可以這麼寫

woman(mia).
這個格式代表這乙個事實,a(b). b是a 事實上命名沒什麼要求,只要你自己記得就好

當我想要知道某個問題的答案,我就可以通過-?對其進行問詢,比如

woman(mia).  

-? woman(mia).

yes

這就是使用prolog的乙個簡單的例子

【常量和變數】

prolog常量和變數的區分規則簡單粗暴:

小寫字母是常量,如abc;大寫字母則是變數,如abc

在要求輸出時,常量輸出自身,變數輸出自己的代表值(比如我給abc賦值了4396.輸出abc就是輸出4396,輸出abc就是輸出abc)

【關係、屬性】

兩個物件的關係,用括號()表示,比如mia和zed是朋友,則寫成

friend(mia,zed).  

friend(zed,mia).

注意,第一條的意思是mia是zed的朋友,不代表zed是mia的朋友,二者互為朋友則需要各寫一次 ,這個就叫關係

如果括號中,只有乙個物件,那麼這便是屬性

woman(mia).
【規則】

規則是prolog進行推斷的依據,可以模擬其它語言中的if

比如剛才我們嫌朋友的判定太麻煩,於是就可以加入下面這條規則

friend(x, y) :- friend(y,x).

這裡面的xy就是變數,其中 a:-b 代表從b可以推斷出a,也就是b是true,那麼a也是true

**:- **代表推理關係

那麼,如果乙個推斷需要多個條件確定呢,那麼就把條件用逗號隔開,就像a:- b,c 比如

mother(x, y) :- child(y,x), female(x).

x是y的媽,需要二者有母子關係,並且x是女的

另外,如果一條規則取決於某個條件為false,則在條件之前加上+表示否定

【查詢】

在對應的編譯器(有時也叫直譯器)中,使用 -? ... 來進行查詢,...代表要查詢的東西

Python 語法基礎概念

python中的輸出常量字串是 print stringm 輸出變數的話,我們可以這麼做 mystring kkk print mystring 輸入的話我們應該這麼做,其中input函式中的引數就是提示語,input函式返回型別是string x input enter number 我們通常可以...

python基礎語法 10錯誤與異常

python有兩種錯誤很容易辨認 語法錯誤和異常。語法錯誤 python 的語法錯誤或者稱之為解析錯,是初學者經常碰到的,如下例項 異常即便python程式的語法是正確的,在執行它的時候,也有可能發生錯誤。執行期檢測到的錯誤被稱為異常。大多數的異常都不會被程式處理,都以錯誤資訊的形式展現在這裡 異常...

基礎語法與變數

ctr s 儲存 ctr c 複製 拷貝 ctr v 貼上 ctr x 剪下 ctr z 撤銷 ctr y ctr shift z 反撤銷 ctr 新增或者取消注釋 ctr a 全選 利用shift鍵選中部分 先點開始位置,然後按住shift再點結束位置。利用alt鍵產生多個游標 第一種 第二種 1...