# -*- coding: utf-8 -*-
'''created on 2020-01-28
@author: insisted_search
'''from traceback import print_exc
'''1. 提示使用者輸入乙個 n , 表示使用者接下來要輸入 n 個宇符串,程式嘗試將使用者輸入的每乙個
字串 用 空格分割成兩個整數,並結算這兩個整數整除的結果 。要求 : 使用異常處理機制來處理用
戶輸入的各種錯誤情況,並提示使用者重新輸入。
'''class strnumexception(exception):pass
def getinputnum():
while true:
try:
num = int(input("請問您準備輸入多少個字串:"))
except valueerror:
print("您輸入的不是數字!")
continue
except exception as e:
print(e)
continue
else:
print("下面請您輸入%d個字串"%num)
break
return num
def getinputstr(index):
#輸入乙個字串
str = input("%d:"%index)
#將字串左右空格進行清除
str = str.strip()
#使用空格將字串進行分割
num_list = str.split(" ")
#可能分割後的字串不是兩個,raise異常
if len(num_list)!=2:
print("輸入字串分割後不是兩個")
raise strnumexception("輸入字串分割後不是兩個")
return num_list
def calcstr(num_list):
try:
num1 = int(num_list[0])
num2 = int(num_list[1])
ret = num1/num2
except valueerror as ve:
#print_exc(limit=1)
print("num1或num2數字轉換有誤:",ve)
raise
except arithmeticerror:
print("num2為0不能作為除數")
raise
else:
print("%d/%d=%.2f"%(num1,num2,ret))
if __name__ == '__main__':
num = getinputnum()
i = 1
while i= 2 and num <= 5:
print("沒意思")
elif num >= 6 and num <= 20:
print("有趣")
else:
print("沒意思")
except exception as ve:
print(ve)
pass
# -*- coding: utf-8 -*-
'''created on 2023年1月28日
@author: insisted_search
3 . 提供乙個字串元組,程式要求元組中每乙個元素的長度都在 5~20 之間:否則, 程式 引
發異常。
'''class selfexception(exception):pass
if __name__ == '__main__':
str_t =
try:
for st in str_t:
if len(st)<5 or len(st)>20:
raise selfexception("發現有元素不在5~20的範圍內:%s長度為%d"%(st,len(st)))
except exception as ve:
print("發現有異常產生:",ve)
pass
# -*- coding: utf-8 -*-
'''created on 2023年1月28日
@author: insisted_search
4. 提示使用者輸入 xl,yl,x2,y2,x3,y3 六個數值,分別代表三個點的座標,程式判斷這三個點
是否在同一條直線上。要求 : 使用異常處理機制處理使用者輸入的各種錯誤情況,如果三個點不在同
一條直線上,則程式出現異常 。
'''class selfexception(exception):pass
if __name__ == '__main__':
input_str = input("請輸入x1,y1,x2,y2,x3,y3:")
try:
input_str = input_str.strip()
input_list = input_str.split()
if len(input_list) != 6:
raise selfexception("輸入座標個數不對,請仔細檢查")
x1 = int(input_list[0]);
y1 = int(input_list[1]);
x2 = int(input_list[2]);
y2 = int(input_list[3]);
x3 = int(input_list[4]);
y3 = int(input_list[5]);
if (x1-x2)*(y3-y2) != (x3-x2)*(y1-y2):
raise selfexception("三個點不在一條直線上")
else:
print("三點在同一條直線上")
except exception as ve:
print("發現有異常產生:",ve)
pass
python第七章 python教程(第七章)
字典和集合 字典是python中唯一,乙個對映型別 如何建立乙個字典,如下 dict dict 滲透 網路安全 怎麼理解字典呢?現實生活中的字典可以通過首字母進行查詢要查詢的漢子,python也可以這樣理解,通過 前的元素查詢到冒號後的元素。為什麼說字典是唯一乙個對映型別呢?看圖。對映型別區別與序列...
Python核心程式設計 練習 第七章
7 1.字典方法。哪個字典方法可以用來把兩個字典合併到一起?可以通過update來更新。dict1 dict2 dict1.update dict2 dict1 7 3.字典和列表的方法。a 建立乙個字典,並把這個字典中的鍵按照字母順序顯示出來。b 現在根據已按照字母順序排序好的鍵,顯示出這個字典中...
python入門練習第七章7 1 7 10
僅作練習記錄,如有錯誤歡迎指正。7 1 汽車租賃 編寫乙個程式,詢問使用者要租賃什麼樣的汽車,並列印一條訊息,如 let me see if i can find you a subaru car input what kind of car would you like to rent?print...