第五章课后习题

5.1
def print_grid(width):
plus = '+'
dash = ' - '
pipe = '|'
space = ' '
horizontal_line = plus + (dash * width + plus) * width + '\n'
vertical_line = (pipe + (space * width + pipe) * width + '\n')
for _ in range(width):
print(horizontal_line, end='')
for _ in range(width):
print(vertical_line, end='')
print(horizontal_line, end='')
print_grid(4)

5.2
def isOdd(x):
if isinstance(x,int):
return x % 2 != 0
return False
print(isOdd(5))

5.3
def isPrime(x):
if isinstance(x, int) and x > 1:
for i in range(2, int(x ** 0.5) + 1):
if x % i == 0:
return False
return True
return False ————5.4
def PrimeList(N):
result = []
for num in range(2, N):
if isPrime(num):
result.append(num)
return " ".join(map(str, result))
print(PrimeList(10))

5.5
def isNum(s):
try:
complex(s)
return True
except ValueError:
return False

5.6
def multi(*args):
result = 1
for num in args:
if isinstance(num, (int, float)):
result *= num
return result
print(multi(3,5,7,9))

5.7
def FabN(n):
if not isinstance(n,int) or n <= 0:
return None
if n == 1 or n == 2:
return 1
return FabN(n - 1) + FabN(n - 2)

5.8
def isType(x):
if isinstance(x, int):
return "整数"
elif isinstance(x, float):
return "小数"
elif isinstance(x, complex):
return "复数"
elif isinstance(x, str):
return "字符串"
elif isinstance(x, list):
return "列表"
elif isinstance(x, dict):
return "字典"
elif isinstance(x, set):
return "集合"
elif isinstance(x, tuple):
return "元组"
else:
return "其他类型"

posted @ 2025-04-20 15:43  鳞*  阅读(31)  评论(0)    收藏  举报