【概述】
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...