python 運算子 第二課

2021-10-09 17:44:49 字數 4028 閱讀 7846

數**算符,比較運算子,邏輯運算子, 賦值運算子, 位運算子

一丶數**算符:

常見的數**算符:+, -, *, /, //整除, %取餘/取模, **冪運算。

c語言 除根據定義的資料型別不同,所得的結果不一樣。5/2=2,5.0/2=2.5

python在不定義資料型別情況下都預設為浮點型。

注:"//" 整除,向小取整 比如說1.9取1.0。 -1.9取-2.0,類似於去掉低位數。"**" 冥運算,

練習:獲取任意大於的100的數的百位數。

b = int(input("請輸入資料"))

c = int(input("選擇取第幾位數"))

d = 1

d = b // (10 ** (c - 1)) % 10

print(d)

二,比較運算子:

<, >, >=, <=, ++, != 所有的比較運算子的結果都是布林值。

python中的比較運算子都支援連寫的方式表示取值範圍。

28 < a < 60
三,邏輯運算子:

and(與), or(或), not(非)

與:相當於"並且",全true為真,有乙個false就是假。

或:相當於"或者",只要有乙個為真(true)都為真(true)。

非:單目運算子,對乙個資料進行判斷。not一般用於正向寫非常麻煩,但是方向判斷比較容易的條件判斷。

例如:寫出不能同時被3和7整除的條件。

print(not num % 21 == 0)
短路操作:and的短路操作,例如:條件一 and 條件二 ,如果條件1是false,那麼對於條件2的判斷**不會執行。

​ or的短路操作,如果條件一是true,那麼條件二對應的**不會被執行。

注意:實際開發的時候,邏輯運算子一般都是bool值。面試的時候喜歡考不是bool值的問題,

如果表示式的值不是布林,就轉化為布林值在判斷。

python所有型別的資料都可以轉化為布林值,所有為零為空的數值都會轉化為false。

表示式1 and 表示式2 :表示式1的值為true,則返回的結果為表示式2的值。

表示式1 or 表示式2 :表示式1的值為false,這返回的結果為表示式2的值。

寫出乙個數能不能同時被三或者七整除。

a = int(input("輸入乙個數"))

print("能否被三和七整除", a % 3 == 0 and a % 7 == 0)

if a % 3 == 0 and a % 7 == 0:

print("能被三和七同時整除")

else:

print("不能被整除")

寫出判斷閏年的條件語句
a = int(input("輸入年份"))

print("判斷該年份是否為閏年", a % 4 == 0 or a % 100 != 0)

布林值的轉換:
print(bool(0), bool(""), bool("false"))  # false false false

print(bool("100")) # true true

三.賦值運算子。

運算子的優先順序:數**算符》比較運算子》邏輯運算子》賦值運算子(最低)。

數**算符:**>*,/,//>+,-

邏輯運算子:and > or

括號的優先順序是最高的

四.位運算子:

&(按位與),|(按位或),^(按位異或),~(按位取反),>>(右移),<<(左移)。

位運算子的運算效率比一般的運算子都要高出幾十倍到幾百倍。

應用1:判斷整數的奇偶性,數字對一進行按位與運算,運算結果是1就是奇數,結果是0就是偶數。

print(28&1, 10&1) # 0 0

print(11&1,9&1) # 1 1

應用2:

數字 << n - 快速乘 2**n

數字 >> n - 快速整除 2**n

數字 << 1 - 快速乘2 數字*2

數字 >> 1 - 快速整除2 數字//2

1.流程控制

1).順序結構:重上往下依次執行每一條語句。

2).分支結構:根據條件選擇性的執行**。

3).迴圈結構:能夠讓**重複執行。

2.分支結構

1).if 的單分支結構。

if 條件語句:

**段

說明:

(1).if -關鍵字,固定寫法。

(2).條件語句 -任何有結果的表達方式,任何型別的資料,除賦值語句以外的運算子,表示式,函式呼叫表示式

(3).冒號 -固定寫法。(python中冒號一般都需要換行後產生縮進來表示**塊)

(4).**段 -和if保持乙個縮排(tab=4個空格)的一條語句或者多條語句。在滿足條件的時候才會執行**。

​ 執行過程:先判斷條件語句是否為true(如果不是布林值就換換成布林值判斷)。如果是ture就執行**端,否則**段不執行。

練習:輸入乙個整數,如果是整數,就列印」這個數能被2整除「。

a = int(input("請輸入乙個整數"))

if a % 2 == 0:

print("這個數能被2整除")

b = int(input("請輸入乙個整數"))

if b & 1 == 0:# (寫成b & 1, 在結果是奇數的的時候可以pass)

print("這個數能被2整除")

b = int(input("請輸入乙個整數"))

if b & 1: # (寫成b & 1, 在結果是奇數的的時候可以pass)

print("這個數不能被2整除")

2)if雙分支結構
if 條件語句:

**塊1

else:

**塊2

執行過程:先判斷條件語句是否為true,如果是就執行**塊1,否則執行**塊2。

練習1:如果輸入的數字是偶數就列印"偶數",否則列印"奇數"

練習2:根據輸入的年齡值列印 『成年』 或者 『未成年』

練習3:輸入年份,根據年份值列印 『閏年』 或者 『非閏年』

a = int(input("請輸入乙個整數"))

if a & 1 == 0:

print('偶數')

else:

print("奇數")

b = int(input("請輸入您的年齡"))

if b > 18:

print('成年')

else:

print("未成年")

b = int(input("請輸入年份"))

if b % 4 == 0:

print('閏年')

else:

print("非閏年")

if多分支結構 — 更具不同對條件執行不用的操作

語法:

if 條件語句1:

**塊1

elif 條件語句2:

**塊2

elif 條件語句3:

**塊3

......

else:

**塊n

練習:按照績點要求,發放相應的獎學金,大於4績點拿一級獎學金,大於3.5績點小於4績點2級獎學金,大於3績點小於3.5績點拿**獎學金,大於2.5績點小於3績點拿四級獎學金,小於2.5績點無獎學金。
student_grade = float(input("請輸入績點"))

if student_grade > 4:

print("一級獎學金")

elif 3.5 <= student_grade:

print("二級獎學金")

elif 3 <= student_grade:

print("**獎學金")

elif 2.5 <= student_grade:

print("四級獎學金")

else:

print("沒有獎學金")

第二課 加法運算

在程式設計當中,文字框及按鈕是用得比較多的乙個控制項,我們先來學學如何使用這兩個控制項。1 新建乙個窗體 2 在窗體上放置三個文字框控制項,分別命名為 txtnum1 txtnum2 txtnum3,我們在命名時,盡量規範一點,可參考這裡 3 在窗體上放置乙個按鈕,命名為cmdcount 開始程式設...

Python基礎第二課

練習題 1 編寫乙個python程式來查詢那些既可以被7整除又可以被5整除的數字,介於1500和2700之間。your code here i for i in range 1500 2700,1 if i 7 0and i 5 0 2 龜兔賽跑遊戲 題目描述 話說這個世界上有各種各樣的兔子和烏龜,...

python第二課(函式)

1 函式的定義 在python中可以使用def關鍵字來定義函式,和變數一樣每個函式也有乙個響亮的名字,而且命名規則跟變數的命名規則是一致的。在函式名後面的圓括號中可以放置傳遞給函式的引數,這一點和數學上的函式非常相似,程式中函式的引數就相當於是數學上說的函式的自變數,而函式執行完成後我們可以通過re...