python語言篇(8練習1)

2021-09-14 01:28:22 字數 2365 閱讀 8986

# 1. 寫乙個函式,mysum,可以傳入任意個實參的數字,返回所有實參的和

# def mysum(....):

#     ....

#   print(mysum(1,2,3,4)) # 10

#   print(mysum(5,6,7,8,9)) # 35

def mysum(*args):

return sum(args)

print(mysum(1,2,3,4)) # 10

print(mysum(5,6,7,8,9)) # 35

# 2. 已知內建函式 max的幫助文件為:

#   max(...)

#      max(iterable) -> value

#      max(arg1, arg2, *args) -> value

#   訪造max,寫乙個mymax函式,實現功能與max完全相同

# 測試用例:

#   print(mymax([6,8,3,5]))  # 8

#   print(mymax(100, 200))   # 200

#   print(mymax(1,3,9,7,5))  # 9

# 方法1

# def mymax(*args):

#     if len(args) == 1:

#         l = list(*args)  # 放到乙個列表裡

#         l.sort(reverse=true)

#         return l[0]

#     elif len(args) >= 2:

#         l = list(args)

#         l.sort(reverse=true)

#         return l[0]

# 方法2

# def mymax(a, *args):

#     if len(args) == 0:

#         # return max(a)

#         m = a[0]  # 先假設第乙個數最大

#         i = 1

#         while i < len(a): # 遍歷之後的每乙個元素

#             if a[i] > m:  # 如果此元素比m大,則讓m繫結大的乙個

#                 m = a[i]

#             i += 1

#         return m  # 最後m一定繫結乙個最大的

#     else:

#         m = a

#         for x in args:

#             if x > m:

#                 m = x

#         return m

# 方法3

def mymax(a, *args):

def _max(*args):

# 此函式用於求args元組的最大值

m = args[0]  # 先假設第乙個數最大

i = 1

while i < len(args):  # 遍歷之後的每乙個元素

if args[i] > m:  # 如果此元素比m大,則讓m繫結大的乙個

m = args[i]

i += 1

return m  # 最後m一定繫結乙個最大的

if len(args) == 0:

return _max(*a)

return _max(a, *args)

print(mymax([6, 8, 3, 5]))  # 8

print(mymax(100, 200))   # 200

print(mymax(1, 3, 9, 7, 5))  # 9

# 3. 寫乙個函式minmax, 可以給出任意個數字實參,返回這些實參的最小數和最大數,

#   要求兩個數字形成元組後返回(最小數在前,最大數在後)

#   呼叫此函式,能得到實參的最小值和最大值

#   def minmax(...):

#       ....

#   xiao, da = minmax(5,7,9,3,1)

#   print("最小數是:", xiao)

#   print("最大數是:", da)

def minmax(*args):

return (min(args), max(args))

xiao, da = minmax(5, 7, 9, 3, 1)

print("最小數是:", xiao)

print("最大數是:", da)

python語言篇(2練習1)

while.py 列印10行的hello i 1 建立並初始化乙個控制while迴圈的變數i while i 10 print hello 此處會執行10次 i 1 將迴圈變數每次做 1操作,以控制迴圈條件 while2.py 列印 1 20的整數 i 1 while i 20 print i i ...

python語言篇(6練習1)

1.算出 100 999 以內的水仙花數 narcissistic number 水仙花數是指百位的3次方 加上 十位的3次方 加上個位的3次方等於原數的數字 例如 153 等於 1 3 5 3 3 3 方法1 for x in range 100,1000 gewei x 10 求個位 shiwe...

python語言篇(7練習1)

1.有乙隻小猴子,摘了很多桃.第一天吃了全部桃子的一半,感覺不飽又吃了乙個 第二天吃了剩下桃子的一半,感覺不飽又吃了乙個 以此類推 到第十天,發現只剩下乙個了 請問第一天摘了多少個桃?第十天 x 1 第九天 x x 1 2 第八天 x x 1 2 x x 1 2 x x 1 2 x x 1 2 x ...