@浙大疏錦行知識點回顧:
- 函數的定義
- 變量作用域:局部變量和全局變量
- 函數的參數類型:位置參數、默認參數、不定參數
- 傳遞參數的手段:關鍵詞參數
- 傳遞參數的順序:同時出現三種參數類型時
作業
#作業1
import math
def calculate_circle_area(radius):try:# 檢查半徑是否為負數if radius < 0:return 0# 計算圓的面積area = math.pi * radius ** 2return area# 處理非數值類型的輸入except TypeError:print("錯誤:半徑必須是數字類型")return 0# 測試不同半徑的情況
print("半徑為5時的面積:", calculate_circle_area(5))
print("半徑為0時的面積:", calculate_circle_area(0))
print("半徑為-1時的面積:", calculate_circle_area(-1))#作業2
def calculate_rectangle_area(length,width):try:# 檢查長或寬是否為負數if length<0 or width < 0:print("長和寬不能為負數")return 0# 計算矩形的面積area = length*widthreturn area# 處理非數值類型的輸入except TypeError:print("錯誤:長或寬必須是數字類型")return None
# 測試不同長和寬的情況
print("長為5,寬為9時的面積:", calculate_rectangle_area(5,9))
print("長為6,寬為-1時的面積:", calculate_rectangle_area(6,-1))
print("長為-3,寬為4時的面積:", calculate_rectangle_area(-3,4))
print("長為-3,寬為-4時的面積:", calculate_rectangle_area(-3,-4))#作業3
def calculate_average(*args):# 檢查是否有傳入數字if not args:return 0# 計算總和與平均值total = sum(args)average = total / len(args)return average# 測試函數
print(calculate_average(1, 2, 3, 4))
print(calculate_average(10, 20))
print(calculate_average(5))
print(calculate_average())#作業4
def calculate_average(user_id,**user_info):profile = {}profile['user_id'] =user_idfor key, value in user_info.items():profile[key] = valuereturn profile
user_profile = calculate_average('18848896632',name='劉江',field='生物學',age='28')
print(f"\n用戶信息: {user_profile}")#作業5
def describe_shape(shape_name, color="black", **kwargs):# 處理尺寸描述部分if kwargs:# 將關鍵字參數轉換為"key=value"格式的字符串列表dim_parts = [f"{key}={value}" for key, value in kwargs.items()]# 用逗號連接所有尺寸描述dim_str = ", ".join(dim_parts)dimensions = f"with dimensions: {dim_str}"else:dimensions = "with no specific dimensions."# 組合完整描述字符串return f"A {color} {shape_name} {dimensions}"# 測試函數
print(describe_shape("circle", "red", radius=5))
print(describe_shape("rectangle", length=10, width=4))
print(describe_shape("triangle", "blue", base=6, height=8))
print(describe_shape("square"))