瘋狂Python講義第七章練習

2021-10-02 10:02:15 字數 3043 閱讀 7601

# -*- 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...