前言
Python當中經常使用操做符,有分爲如下幾類。冪運算(**),正負號(+,-),算術操做符(+,-,*,/,//,%),比較操做符(<,<=,>,>=,==,!=),邏輯運算符(not,and,or)。git
操做符介紹
冪運算(**)
>>> 3 ** 3
27
1
2
正負號(+,-)
冪運算的優先級比較特殊,
由於冪操做進行運算的時候,他和一元操做符的運算關係比較曖昧,減號(-)看成負號(-)來使用時,他是一元操做符,表示負數。
冪操做符比其左邊的操做符優先級高,比起右邊的優先級低。例如:
>>> -3 ** 2
-9
>>> -(3 ** 2)
-9input
>>> 3 ** -2
0.1111111111111111
>>> 3 ** (-2)
0.1111111111111111
1
2
3
4
5
6
7
8
9
10
11
12
算術操做符(+,-,*,/,//,%)
算術操做符中,a = a + 5 能夠寫成 a + = 5,其餘算數操做符也適用,例如:
>>> a = b = c = d = 10
>>> a += 1
>>> b -= 3
>>> c *= 10
>>> d /= 8
>>> a
11
>>> b
7
>>> c
100
>>> d
1.25博客
'//' 表示floor除
>>> 3 // 2
1
>>> 3.2 // 2.0
1.0
>>> 3.2 // 2
1.0it
'%' 表示求餘數
>>> 9 % 2
1
>>> 9 % 7
2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
比較操做符(<,<=,>,>=,==,!=)
根據表達式的值真假來返回bool類型的值,例如:
>>> 1 < 2
True
>>> 3 > 4
False
>>> 2 == 2
True
>>> 2 != 2
False
1
2
3
4
5
6
7
8
9
邏輯運算符(not,and,or)
邏輯運算符的優先級是不一樣的,not > and > or,例如:
>>> not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
4
等價於加上括號以後的:
>>> (not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
4
1
2
3
4
5
6
操做符優先級程序
練練手
把上篇博客中求閏年,用%改寫
temp = input('請輸入一個年份:')
while not temp.isdigit():
temp = input("抱歉,您的輸入有誤,請輸入一個整數:")di
year = int(temp)
if year%400 == 0:
print(temp + ' 是閏年!')
else:
if (year%4 == 0) and (year%100 != 0):
print(temp + ' 是閏年!')
else:
print(temp + ' 不是閏年!')
1
2
3
4
5
6
7
8
9
10
11
12
13
寫一個程序打印出0 ~ 100全部的奇數
i = 0
while i<= 100:
if i % 2 != 0:
print(i,end=' ')
i += 1
else:
i += 1
1
2
3
4
5
6
7
8
愛因斯坦的難題 while
i = 1
x = 7
flag = 0
while i<=100:
if (x%2 ==1) and (x%3 ==2) and (x%5 ==4) and (x%6 ==5):
flag = 1
else:
x = 7 * (i + 1)
i += 1
if flag == 1:
print('階梯數是:',x)
else:
print('在程序限定範圍內找不到答案!')運算符
------------------------------------------------------------------------------------------------x = 0while 1: if (x%2 ==1) and (x%3 ==2) and (x%5 ==4) and (x%6 ==5) and (x%7 ==0): print('階梯數是:',x) break else: x += 1