python 學習 day 2
阿新 • • 發佈:2018-12-01
運算子的使用:
- 算數運算子
+,-,*,/,//,%,** 代表加減乘除,//整數,%餘數,**冪運算 - 比較運算子
,<,==,>=,<=,!= ,代表大於,小於,等於,大於等於,小於等於,不等於,比較後,返回的數字型別是True或False,
a = int(input(">:"))
b = 100
c = 1000
# python中可以這麼用,其他語言不能
if b < a < c:
print("True")
else:
print("False")
作業:
num1 = input("num1:") num2 = input("num2:") num3 = input("num3:") 輸出三個數字中的最大值/最小值
num1 = int(input("num1:"))
num2 = int(input("num2:"))
num3 = int(input("num3:"))
if num1 < num2 < num3:
print("max_num:", num3, "min_num:", num1)
elif num1 > num2 > num3:
print("max_num:", num1, "min_num:", num3)
elif num2 > num1 > num3:
print("max_num:", num2, "min_num:", num3)
elif num2 < num1 < num3:
print("max_num:", num3, "min_num:", num2)
elif num3 < num1 < num2:
print("max_num:", num2, "min_num:", num1)
else:
print("max_num:", num1, "min_num:", num2)
賦值運算子:
- =,+=,-=,*=,/=,//=,%=,**=
num = 1
num += 1 # num = num + 1
num -= 1 # num = num - 1
num *= 2 # num = num * 1
num /= 2 # num = num / 2
num //= 2 # num = num // 2
num %= 2 # num = num % 2
num **= 2 # num = num ** 2
邏輯運算子
- and,or,not ,代表與,或,非
# and 且,並且只有兩個條件全部為True的時候結果才會為True
5 > 3 and 6 > 2 # 結果為True
5 > 3 and 6 < 2 # 結果為False
# or 或,或者 只有兩個條件全部為False的時候結果才會為False
5 > 3 or 6 > 2 # 結果為True
5 > 3 or 6 < 2 # 結果為True
5 < 3 or 6 < 2 # 結果為False
# not 非,不是 兩個條件判斷相反的結果
a > b and (c>d or (not f))# ()內的優先順序最高 當不知道優先順序的時候就用()
# 優先順序:not > and > or
什麼是表示式:
運算元和運算子組成的一句程式碼:如1+2*3就是表示式,+,*是運算子,123是運算元
什麼是短路原則:
條件1 and 條件2 if 條件1為False ,那麼這個and前後兩個條件組成的表示式的計算結果就一定為false,因此第二個條件不計算
條件1 or 條件2 if 條件1 為 True 那麼這個or前後兩個條件組成的表示式的計算結果就一定為True,因此第二個條件不計算
while迴圈:
num = 1
while num<= 10:
print(num)
# 此時num = 1的值沒有變化,num 永遠< 10,這樣num就會一直列印1,進入死迴圈
# 因此
num += 1
作業:
輸入1-100之間所有偶數
num = 1
while num <= 100:
if num % 2 == 0: # num % 2 == 1顯示所有奇數
print(num)
num += 1
##
break 終止迴圈的意思
猜年齡遊戲:
age = 50
while True:
user_input_age = int(input("猜猜我的年齡:"))
if age == user_input_age:
print("yes,you are right")
break
elif age > user_input_age:
print("no,smaller...")
else:
print("no,bigger...")
continue 跳過此輪迴圈
num = 0
while num < 10:
num += 1
if num == 3:
continue # 這裡會if條件跳過不顯示
print(num)
else:
print("this is statement")
# continue顯示這句話 break不會顯示
'''
1
2
4
5
6
7
8
9
10
this is statement
'''
課外英語:statement 語句的意思
巢狀迴圈
num1 = 0
while num1 <= 5:
num2 = 0
while num2 <=7:
print(num2,end="-")
num2 += 1
num1 += 1
print()
'''
0-1-2-3-4-5-6-7-
0-1-2-3-4-5-6-7-
0-1-2-3-4-5-6-7-
0-1-2-3-4-5-6-7-
0-1-2-3-4-5-6-7-
0-1-2-3-4-5-6-7-
'''
巢狀迴圈作業
使用者輸入寬和高,顯示對應的#號表示
height = int(input("Height:")) # 使用者輸入高度
width = int(input("Width")) # 使用者輸入寬度
num_height = 1
while num_height <= height:
num_width = 1
while num_width <= width:
print("#",end="")
num_width += 1
print()
num_height += 1
while迴圈作業: 九九乘法表
num1 = 1
while num1 <= 9:
num2 = 1
while num2 <= num1:
print(str(num2)+ "*"+ str(num1) + "=" + str(num2*num1),end="\t")
num2 += 1
print() # 等價於print(end='\n')
num1 += 1
'''
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
'''
while九九乘法表 反轉
num1 = 9
while num1 > 0:
num2 = num1
while num2 > 0:
print(str(num2)+ "*"+ str(num1) + "=" + str(num2*num1),end="\t")
num2 -= 1
print()
num1 -= 1
'''
9*9=81 8*9=72 7*9=63 6*9=54 5*9=45 4*9=36 3*9=27 2*9=18 1*9=9
8*8=64 7*8=56 6*8=48 5*8=40 4*8=32 3*8=24 2*8=16 1*8=8
7*7=49 6*7=42 5*7=35 4*7=28 3*7=21 2*7=14 1*7=7
6*6=36 5*6=30 4*6=24 3*6=18 2*6=12 1*6=6
5*5=25 4*5=20 3*5=15 2*5=10 1*5=5
4*4=16 3*4=12 2*4=8 1*4=4
3*3=9 2*3=6 1*3=3
2*2=4 1*2=2
1*1=1
'''