2.判斷語句和迴圈語句
阿新 • • 發佈:2018-11-12
2.1 運算子
- 1 算數運算子
注意:混合運算時,優先順序順序為: ** 高於 * / % // 高於 + - ,為了避免歧義,建議使用 () 來處理運算子優先順序;並且,不同型別的數字在進行混合運算時,整數將會轉換成浮點數進行運算。
shift + enter 指標快速到下一行
- 2 賦值運算子 =
- 定義 把=右邊的結果賦給左邊的變數
- 單個變數賦值 num = 10
- 多個變數賦值 num1,num2,num3,flo1,str1 = 10,20,30,3.14,love
- 3 複合賦值運算子
2.2 資料型別轉換
2.3 判斷語句介紹
如果某些條件滿足,才能做某件事情;條件不滿足時,則不能做,這就是所謂的判斷
如果…就…
2.4 if語句
if 要判讀的條件:
條件成立時要做的事
2.5 比較、邏輯運算子
- 1 比較(即關係)運算子
- 運算子 描述 示例
- ==檢查兩個運算元的值是否相等,如果是則條件變為真。 如a=3,b=3,則(a == b) 為 True
- != 檢查兩個運算元的值是否相等,如果值不相等,則條件變為真。 如a=1,b=3,則(a != b) 為 True
-
檢查左運算元的值是否大於右運算元的值,如果是,則條件成立。 如a=7,b=3,則(a > b) 為 True
- < 檢查左運算元的值是否小於右運算元的值,如果是,則條件成立。 如a=7,b=3,則(a < b) 為 False
-
= 檢查左運算元的值是否大於或等於右運算元的值,如果是,則條件成立。 如a=3,b=3,則(a >= b) 為 True
- <= 檢查左運算元的值是否小於或等於右運算元的值,如果是,則條件成立。 如a=3,b=3,則(a <= b) 為 True
- 2 邏輯運算子
- 運算子 邏輯表示式 描述 例項
- and x and y 布林"與":如果 x 為 False,x and y 返回 False,否則它返回 y 的值。 True and False, 返回 False。
- or x or y 布林"或":如果 x 是 True,它返回 True,否則它返回 y 的值。 False or True, 返回 True。
- not not x 布林"非":如果 x 為 True,返回 False 。如果 x 為 False,它返回 True。 not True 返回 False, not False 返回 True
2.6 if-else
if 條件:
滿足條件時要做的事情1
滿足條件時要做的事情2
滿足條件時要做的事情3
...(省略)...
else:
不滿足條件時要做的事情1
不滿足條件時要做的事情2
不滿足條件時要做的事情3
...(省略)...
如果…就…,否則…
2.7 elif
if xxx1:
事情1
elif xxx2:
事情2
elif xxx3:
事情3
如果…就…,又如果…就…,如果…就…
可以和else一起使用
2.8 if巢狀
if 條件1:
滿足條件1 做的事情1
滿足條件1 做的事情2
if 條件2:
滿足條件2 做的事情1
滿足條件2 做的事情2
2.9 if應用:猜拳遊戲
import random
com = random.randint(0,2) # 電腦出招
# print(com)
player = int(input('請出招(0表示剪刀,1表示石頭,2表示布:')) # 玩家出招
# 判斷是電腦還是玩家贏了
if (player == 0 and com == 2) or (player == 1 and com == 0) or(player == 2 and com == 1):
# 只要出現以上三種情況,說明玩家贏了
print('不要走,決戰到天亮!')
elif player == com:
print('平局,再來!')
else:
print('洗洗手,再來?')
2.10 迴圈語句介紹
-
while和if的用法基本類似,區別在於:if 條件成立,則執行一次; while 條件成立,則重複執行,直到條件不成立為止。
-
一般情況下,需要多次重複執行的程式碼,都可以用迴圈的方式來完成
-
迴圈不是必須要使用的,但是為了提高程式碼的重複使用率,所以有經驗的開發者都會採用迴圈
2.11 while迴圈
2.12 while迴圈應用
- 計算1~100的累積和(包含1和100)
sum = 0
i = 0
while i <= 100:
sum = sum + i
i += 1
print(sum)
- 計算1~100之間偶數的累積和(包含1和100)
sum = 0
i = 0
while i <= 100:
if i % 2 == 0:
sum = sum + i
i += 1
print(sum)
2.13 while迴圈的巢狀以及應用(難點)
while 條件1:
條件1滿足時,做的事情1
條件1滿足時,做的事情2
條件1滿足時,做的事情3
...(省略)...
while 條件2:
條件2滿足時,做的事情1
條件2滿足時,做的事情2
條件2滿足時,做的事情3
...(省略)...
- while巢狀應用一 列印三角形
# while巢狀應用一 列印三角形 左下角
i = 1 # 行 逐行列印
while i <= 5:
print('* ' * i)
i += 1
print('-----------------------------')
i = 1 # 行 逐個列印
while i <= 5:
j = 1 # 逐個列印
while j <= i:
print('* ', end='')
j += 1
print() # 列印空號,填充,保持格式
i += 1
- while巢狀應用二 九九乘法表
# while巢狀應用二 九九乘法表 左下角
i = 1 # 行 逐個列印
while i <= 9:
j = 1 # 逐個列印
while j <= i:
print('%d*%d=%2d'% (j,i,j*i), end=' ')
j += 1
print() # 換行
i += 1
print('-----------------------------1--------------------------------------')
#九九乘法表 完整
i = 1
while i <= 9:
j = 1
while j <= 9:
print('%d*%d=%2d' % (j, i, j * i), end=' ')
j += 1
print() # 換行
i += 1
print('------------------------------2--------------------------------------')
# for
# 完整九九乘法表
for i in range(1, 10):
for j in range(1, 10):
print('%d*%d=%2d' % (j, i, j * i), end=' ')
print()
print('------------------------------3--------------------------------------')
#左上角九九乘法表
for i in range(1, 10):
for j in range(i, 10):
print('%d*%d=%2d'%(i, j, i*j), end=' ')
print()
print('------------------------------4--------------------------------------')
#右上角九九乘法表
for i in range(1, 10):
for k in range(1, i):
print(' ', end='')
for j in range(i, 10):
print('%d*%d=%2d' % (i, j, i * j), end=' ')
print()
print('------------------------------5--------------------------------------')
# 右下角九九乘法表
for i in range(1, 10):
for k in range(1, 10-i):
print(' ', end='')
for j in range(1, i+1):
print('%d*%d=%2d' % (j, i, j * i), end=' ')
print()