1.1.條件語句
python條件語句跟其他語言基本一致,都是通過一條或多條語句的執(zhí)行結(jié)果(True或者False),來決定執(zhí)行的代碼塊。
python程序語言指定任何非0和非空(None)值為True,0或者None為False。
1.1.1.if語句的基本形式
python中,if語句的基本形式如下:
if判斷條件:
執(zhí)行語句......
else:
執(zhí)行語句......
前面提到過,python語言有著嚴(yán)格地縮進(jìn)要求,因此這里也要注意縮進(jìn),也不要少寫了冒號:。
if語句的判斷條件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)來表示其關(guān)系。
例如:
res = 59
if res >=60:
print('及格')
else:
print('不及格')
輸出的結(jié)果為:
不及格
上面也說到,非零數(shù)值、非空字符串、非空list等,判斷為True,否則為False。因此也可以這樣寫:
num = 6
if num:
print('Hello Python')
1.1.2if語句多個判斷條件的形式
有些時候,我們的判斷語句需要多個
if 判斷語句:
執(zhí)行語句1......
elif判斷條件2:
執(zhí)行語句2......
elif判斷條件3:
執(zhí)行語句3......
else:
執(zhí)行語句4......
實例:
res = 89
if res > 90:
print('優(yōu)秀')
elif res > 80:
print('良好')
elif res > 60:
print('及格')
else:
print('不及格')
輸出:
良好
1.1.3.if語句多個條件同時判斷
python不像java有swith語句,所以多個條件判斷,只能用elif來實現(xiàn),但是有需要多個條件同時判斷時,可以使用or(或),表示兩個條件有一個成立時判斷成功;使用and(與)時,表示只有兩個條件同時成立的情況下,判斷條件才成功。
java = 86
python = 68
if java > 80 and python > 80:
print('優(yōu)秀')
else:
print('不優(yōu)秀')
輸出:
不優(yōu)秀
注意:if有多個條件時可使用括號來區(qū)分判斷的先后順序,括號中的判斷優(yōu)先執(zhí)行,此外and和or的優(yōu)先級低于>(大于)、<(小于)等判斷符號,即大于和小于在沒有括號的情況下會比與或要優(yōu)先判斷。
java = 86
python = 68
if (80 <= java < 90) or (80 <= python < 90):
print('良好')
輸出:
良好
1.2.循環(huán)語句
一般循環(huán)語言都有循環(huán)語言,循環(huán)語句允許我們執(zhí)行一個語句或語句組多次。
循環(huán)語句的一般形式如下:

python提供了for循環(huán)和while循環(huán),當(dāng)然還有一些控制循環(huán)的語句:
break 在語句塊執(zhí)行過程中終止循環(huán),并且跳出整個循環(huán)
continue 在語句塊執(zhí)行過程中終止當(dāng)前循環(huán),跳出該次循環(huán),執(zhí)行下一次循環(huán)
pass pass是空語句,是為了保持程序結(jié)構(gòu)的完整性
1.2.1.While循環(huán)語句
count = 1
sum = 0
while count <= 100:
sum = sum + count
count = count +1
print(sum)
輸出:
5050
當(dāng)然while語句還有另外兩個重要的命令continue,break來跳過循環(huán),continue用于跳過該次循環(huán),break則是用語跳出本層循環(huán)
比如,上面的例子是計算1到100所有整數(shù)的和,當(dāng)我們需要判斷sum大于1000的整數(shù),不在相加時,可以用到break,退出整個循環(huán)
count = 1
sum = 0
while count <= 100:
sum = sum + count
if sum > 1000:
break
count = count + 1
print(sum)
輸出:
1035
我們只想統(tǒng)計1到100之間的奇數(shù)和,那么也就是說當(dāng)count時偶數(shù),跳出當(dāng)次的循環(huán),不相加,這時候可以用continue
count = 1
sum = 0
while count <= 100:
if count % 2 == 0:
count = count + 1
continue
sum = sum + count
count = count + 1
print(sum)
輸出:
2500
在python的while循環(huán)中,還可以使用else語句,while...else...在循環(huán)條件為fale時執(zhí)行else語句塊
count = 0
while count < 5:
print(count)
count = count + 1
else:
print(count)
輸出:
0
1
2
3
4
5
1.2.2.for循環(huán)語句
for循環(huán)可以遍歷任何序列的項目,如一個字符串
它的流程圖基本如下:

基本的語法格式:
for iterating_var in sequence:
statements(s)
實例:
for letter in 'www.neuedu.com':
print(letter)
輸出:
w
w
w
.
n
e
u
e
d
u
.
c
o
m
range()函數(shù)
python函數(shù)range()讓你能夠輕松地生成一系列的數(shù)字:
for value in range(1,5):
print(value)
上述代碼好像應(yīng)該打印數(shù)字1~5,但實際上它不會打印數(shù)字5:
1
2
3
4
函數(shù)range()讓python從你指定的第一個值開始數(shù),并在到達(dá)你指定的第二個值后停止,因此輸出不包含第二個值。
1.2.3.嵌套循環(huán)
python語言允許在一個循環(huán)體里面嵌入另一個循環(huán)。
具體的語法如下:
for循環(huán)嵌套語法
for iterating_var in sequence:
for iterating_var in sequence:
statements(s)
statements(s)
while循環(huán)嵌套語法
while expression:
while expression:
statement(s)
statement(s)
實例:
for num in range(10,20):
for i in range(2,num):
if num%i == 0:
j = num/i
print('%d 是一個合數(shù)' % num)
break
else:
print('%d 是一個質(zhì)數(shù)' % num)
輸出:
10 是一個合數(shù)
11 是一個質(zhì)數(shù)
12 是一個合數(shù)
13 是一個質(zhì)數(shù)
14 是一個合數(shù)
15 是一個合數(shù)
16 是一個合數(shù)
17 是一個質(zhì)數(shù)
18 是一個合數(shù)
19 是一個質(zhì)數(shù)
案例:打印九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print('{}*{}={}\t'.format(i,j,i*j),end='')
print()
輸出:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
1.3.隨機(jī)數(shù)的處理
- python中,要使用隨機(jī)數(shù),首先需要導(dǎo)入隨機(jī)數(shù)的模塊--“工具包”
import random
- 導(dǎo)入模塊后,可以直接在模塊名稱后面敲一個.,會提示該模塊中包含的所有函數(shù)
- random.randint(a,b),返回[a,b=]之間的整數(shù),包含a和b
例如:
random.randint(12,20) # 生成的隨機(jī)數(shù)n:12 <= n <= 20
random.randint(20,20) # 結(jié)果永遠(yuǎn)是20
random.randint(20,10) # 該語句是錯誤的,下限必須小于上限
綜合練習(xí)--猜數(shù)字
計算機(jī)要求用戶輸入數(shù)值范圍的最小值和最大值。計算機(jī)隨后“思考”出在這個范圍之內(nèi)的一個隨機(jī)數(shù),并且重復(fù)地要求用戶猜測這個數(shù),直到用戶猜對了。在用戶每次進(jìn)行猜測之后,計算機(jī)都會給出一個提示,并且會在這個過程的最后顯示出總的猜測次數(shù)。這個程序包含了幾種類型的我們學(xué)過的 Python 語句,例如,輸入語句、輸出語句、賦值語句、循環(huán)和條件語句。
可能的游戲過程如下:
Enter the smaller number:1
Enter the larger number:20
Enter your guess:5
Too small
Enter your guess:9
Too small
Enter your guess:15
Too small
Enter your guess:17
Too large
Enter your guess:16
You've got it in 5 tries!
程序如下:
import random
smaller = int(input("Enter the smaller number: "))
larger = int(input("Enter the larger number: "))
myNumber = random.randint(smaller, larger)
count = 0
while True:
count += 1
userNumber = int(input("Enter your guess: "))
if userNumber < myNumber:
print("Too small")
elif userNumber > myNumber:
print("Too large")
else:
print("You've got it in", count, "tries!")
break
輸出:
Enter the smaller number: 1
Enter the larger number: 20
Enter your guess: 5
Too small
Enter your guess: 10
Too small
Enter your guess: 15
Too large
Enter your guess: 13
Too large
Enter your guess: 11
Too small
Enter your guess: 12
You've got it in 6 tries!