python第八周作业
书p196程序练习题
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(3)
5.2
def isOdd(x):
if isinstance(x, int):
return x % 2 != 0
return False
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))
5.5
def isNum(s):
try:
float(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
5.7
def FabN(n):
if n == 1:
return 0
elif 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 "其他类型"

浙公网安备 33010602011771号