我們往往需要根據(jù)某個條件來做出選擇或行動,比如:如果這本書打五折我就買了;我九點半就出發(fā)模燥;如果走新路線更近我就走新路線,否則就按老路線走掩宜。
編程中蔫骂,根據(jù)條件進(jìn)行選擇也是一個基本而重要的元素。
Scratch 的條件選擇例子
點擊綠旗子開始后牺汤,小貓會先說:“你好辽旋!”;然后讓你輸入一個數(shù)字檐迟,如果這個數(shù)字大于5补胚,它就會說:“這個數(shù)字比5大!”追迟。
稍微修改一下溶其,小貓還會在數(shù)字小于等于5是說:“這個數(shù)字等于5或者比5小敦间!”
Python 的條件選擇例子
打開IDLE:
>>> x = 10
>>> if x > 5:
print("x is greater than 5!")
x is greater than 5!
>>>
繼續(xù):
>>> x = 2
>>> if x > 5:
print("x is greater than 5!")
else:
print("x is not greater than 5!")
x is not greater than 5!
>>>
除了條件語句瓶逃,其實我們還用到了變量,在Scratch的例子里每瞒,是我們的“回答”金闽,在Python的例子中,我們設(shè)置了一個名字為x的變量剿骨,變量也是編程中一個基本而重要的元素,可以把它想象為起了名字的盒子埠褪,盒子里面可以裝上數(shù)字或其他東西浓利,而我們可以用盒子的名字來區(qū)別和使用它們挤庇。
再前進(jìn)一步:
>>> x = 2
>>> x > 5
False
>>> x < 5
True
>>> x == 5
False
我們把變量x設(shè)為2,然后輸入三個式子贷掖,用編程的術(shù)語說嫡秕,表達(dá)式。
前兩個容易理解苹威,因為x這個盒子里裝的是2昆咽,2 > 5是假的,Python回答False牙甫,或者說計算后給出表達(dá)式的值:False掷酗。
x == 5 不同于 x = 5。
在Python中“x = 5”是將變量x賦值5窟哺,或者說泻轰,把5這個數(shù)字裝進(jìn)名為x的盒子里,這是一個語句且轨,或者說命令浮声。
而“x == 5”是一個表達(dá)式,就像數(shù)學(xué)里的算式旋奢,Python會計算它的值泳挥,如果x等于5,那么這個表達(dá)式的值就是真(True)至朗,否則就是假(False)屉符。
那么如果我們的條件比較多呢,比如我們要把80分到100分的成績都算A:
>>> x = 72
>>> (x > 80) and (x <= 100)
False
>>> x = 80
>>> (x > 80) and (x <= 100)
False
>>> x = 100
>>> (x > 80) and (x <= 100)
True
又或者爽丹,有一堆五顏六色的積木筑煮,我們只要其中藍(lán)色和綠色的:
>>> s = "Red"
>>> (s == "Green") or (s == "Blue")
False
>>> s = "Blue"
>>> (s == "Green") or (s == "Blue")
True
以上代碼中,我們往名字叫s的盒子里裝了單詞粤蝎,在Python中真仲,我們把用雙引號圍起來的內(nèi)容叫作字符串。
字符串可以是字母初澎、單詞秸应、句子,也可以是別的什么由各種符號組成的碑宴,字符串是我們可以放進(jìn)盒子里并用來做許多事情的另一種東西软啼。
還有更復(fù)雜的,有一大群小朋友延柠,我們要找出其中穿紅色或者黃色衣服的女孩:
>>> gender = "Boy"
>>> color = "Red"
>>> ((color == "Red") or (color == "Yellow")) and (gender == "Girl")
False
>>> gender = "Girl"
>>> color = "Yellow"
>>> ((color == "Red") or (color == "Yellow")) and (gender == "Girl")
True
利用與(and)祸挪、或(or)、非(not)等符號組合起來進(jìn)行計算贞间,就是布爾運算了贿条,它可以幫助我們進(jìn)行邏輯推理雹仿,就好像一個大偵探,可以根據(jù)各種蛛絲馬跡進(jìn)行推理找出罪犯整以。
我們知道胧辽,計算機(jī)內(nèi)部是用二進(jìn)制來進(jìn)行一切計算的,十進(jìn)制里面有0到9十個數(shù)字公黑,而二進(jìn)制只用0和1邑商,0可以對應(yīng)假(False),1可以對應(yīng)真(True)凡蚜,而把與人断、或、非結(jié)合起來就可以進(jìn)行二進(jìn)制的加減乘除等算術(shù)計算番刊,所以可以說含鳞,復(fù)雜強(qiáng)大的計算機(jī)就是建立在0和1以及與、或芹务、非這些看起來非常簡單的東西的基礎(chǔ)上的蝉绷。
回到Scratch。
Scratch 布爾運算的的例子
好了枣抱,就到這里熔吗,給對自己有要求或者感興趣的大人們推薦一本經(jīng)典的書: