1、異常 - 0程式報錯
當程式出現了異常,程式直接結束2、異常捕獲
異常捕獲就是讓程式在出現異常的時候不崩潰還可以接著往後執行3.異常捕獲其他語句
4.finally
finally後面的**段不管**獲的**怎麼執行,都會執行(就算try後面的**出現異常沒有**獲。導致程式崩潰,finally後面的**也會執行5.丟擲異常
raise 異常型別
class
ageerror
(exception)
:def
__str__
(self)
:return
'年齡值的有效範圍是0~200'
age =
int(
input
('請輸入年齡:'))
if age >
20or age <0:
raise ageerror
1、資料持久化(資料本地化)
2、檔案操作(檔案內容的操作) - i/o操作
基本步驟:開啟檔案 - > 操作檔案(讀、寫) - > 關閉檔案1)file - 需要開啟的檔案在計算機中的位置(檔案路勁)
絕對路徑:檔案在計算機中的全部路徑
相對路徑:在寫路徑的時候用乙個點或者多個點來表示檔案絕對路徑的一部分
. - 表示當層目錄(當前目錄指的時當前寫**的檔案所在的目錄)(可以省略)
… - 表示當層目錄的上層目錄
… - 當前目錄的上層目錄的上層目錄
注意:如果只有乙個點,這個點可以省略
操作檔案
a.讀
f.seek(0) - 將讀寫位置移動到檔案開頭b.寫操作檔案物件.read() - 從讀寫位置開始讀到檔案結束
檔案物件.readline() - 從讀寫位置開始讀到一行結束
檔案物件.write(內容)
關閉檔案 - 檔案操作完後需要關閉檔案
方法一:1、資料持久化的方法檔案物件.close()
方法二:
with
open
(file
, mode=
'r',
*,encoding =
none
)as 檔案物件:
操作檔案
第一步:確定需要持久化的資料是什麼第二步:建立檔案儲存需要持久化的資料的初始值
第三步:在程式中需要這個資料的時候從檔案中讀出來
第四步:如果在程式中修改了這個資料,要將最新的資料更新到檔案中
# 計算執行次數
defprint_count()
:with
open
('count'
,'r'
, encoding=
'utf-8'
)as f:
count=
int(f.read())
count +=
1print
(count)
with
open
('count'
,'wt'
, encoding=
'utf-8'
)as f:
f.write(
str(count)
)# 儲存已輸入資料
value =
input
('請輸入資料:'
)with
open
('value.tst'
,'r'
)as f:
names = f.read(
) names =
eval
(names)
print
(names)
print
(names)
with
open
('value.tst'
,'w'
)as f:
f.write(
str(names)
)
while
true
:print
('?歡迎來到xx管理系統?\n?1、登 錄\n?2、注 冊\n?3、退 出'
)try
: step =
int(
input
('請選擇(1-3)?:'))
except
:print
('請輸入正確的選擇(1~3)'
)continue
if step notin[
1,2,
3]:print
('請輸入正確的選擇(1~3)'
)# 登入
if step ==1:
name =
input
('請輸入使用者名稱?:'
) ps =
input
('請輸入密碼?:'
)with
open
('accout.txt'
,'r'
,encoding=
'utf-8'
)as f:
acounts =
eval
(f.read())
a =0for i in acounts:
if name == i:
a =1if acounts[i]
== ps:
print
('登入成功!?'
) a =
2break
if a ==2:
break
else
:if a ==1:
print
('登入失敗!密碼錯誤!?'
)else
:print
('登入失敗!該賬號沒有註冊!?'
)# 註冊
if step ==2:
name =
input
('請輸入使用者名稱?:'
) ps =
input
('請輸入密碼?:'
) b =
0with
open
('accout.txt'
,'r'
,encoding=
'utf-8'
)as f:
acounts =
eval
(f.read())
for i in acounts:
if i == name:
print
('註冊失敗!該賬號已被註冊!?'
)break
else:if
len(ps)
<6:
print
("密碼不能低於6位!?"
)else
:while
true
:for x in ps:
if'a'
< x <
'z':
b =1break
else
:print
('密碼中必須至少有乙個大寫字母!?'
)break
break
if b ==1:
with
open
('accout.txt'
,'wt'
, encoding=
'utf-8'
)as f:
acounts[name]
= ps
f.write(
str(acounts)
)print
('註冊成功!?'
)break
# 退出
if step ==3:
print
('退出成功!?'
)break
2021 3 18學習筆記
顯示本地變數 echo 變數名 或echo 變數名 eg num 2 echo this is numnd num 2 echo this is nd eg2要將name的內容多出 yes 兩種方法 name name yes name yes eg3 在子shell下變數的作用範圍 aa 11 b...
2021 3 18 程式設計
給定乙個字串s,找出至多包含k個不同字元的最長子串t。示例 輸入 s eceba k 2 輸出 3 解釋 則t為 ece 所以長度為3 使用滑動視窗 include include include include include using namespace std intlengthoflong...
2021 3 18linux作業系統學習筆記
顯示本地變數 echo 變數名或 echo eg2要將name的內容多出 yes eg3在子shell下變數的作用範圍 aa 11 bash echo aa 輸出無 aa 22 echo aa 輸出22 exit退出dash echo aa輸出11 eg4釋放本地變數用unset 環境變數 環境變數...