第八周作业
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='')
示例调用,绘制宽度为3的田字格
print_grid(3)
5.2
def isOdd(num):
if isinstance(num, int) and num % 2 != 0:
return True
return False
获取用户输入并判断
try:
num = int(input("请输入一个数字,判断是否为奇数: "))
print(isOdd(num))
except ValueError:
print("输入的不是有效的整数,请重新运行程序并输入整数。")
5.3
def isPrime(num):
if isinstance(num, int) and num > 1:
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
return False
try:
num = int(input("请输入一个大于1的整数,判断是否为质数: "))
print(isPrime(num))
except ValueError:
print("输入的不是有效的整数,请重新运行程序并输入整数。")
5.4
def isPrime(num):
if isinstance(num, int) and num > 1:
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
return False
def PrimeList(N):
result = []
for num in range(2, N):
if isPrime(num):
result.append(str(num))
return " ".join(result)
try:
N = int(input("请输入一个整数,获取小于该数的所有质数: "))
print(PrimeList(N))
except ValueError:
print("输入的不是有效的整数,请重新运行程序并输入整数。")
5.5
def isNum(s):
try:
complex(s)
return True
except:
return False
s = input("请输入一个字符串,判断是否为数字相关表示: ")
print(isNum(s))
5.6
def multi(*args):
result = 1
for num in args:
result *= num
return result
nums_str = input("请输入多个数字,用空格隔开,计算它们的乘积: ").split()
nums = []
try:
for num_str in nums_str:
nums.append(float(num_str))
print(multi(*nums))
except ValueError:
print("输入的不是有效的数字,请重新运行程序并正确输入数字。")
5.7
def FabN(n):
if n == 0:
return 0
elif n == 1:
return 1
return FabN(n - 1) + FabN(n - 2)
try:
n = int(input("请输入一个整数,获取斐波那契数列中第n个数: "))
print(FabN(n))
except ValueError:
print("输入的不是有效的整数,请重新运行程序并输入整数。")
5.8
def isType(arg):
if isinstance(arg, int):
return "整数"
elif isinstance(arg, float):
return "小数"
elif isinstance(arg, complex):
return "复数"
elif isinstance(arg, str):
return "字符串"
elif isinstance(arg, list):
return "列表"
elif isinstance(arg, dict):
return "字典"
elif isinstance(arg, set):
return "集合"
elif isinstance(arg, tuple):
return "元组"
else:
return "其他类型"
try:
input_str = input("请输入内容(整数、小数等),判断其数据类型: ")
try:
num = int(input_str)
arg = num
except ValueError:
try:
arg = float(input_str)
except ValueError:
arg = input_str
print(isType(arg))
except:
print("输入出现问题,请重新运行程序并正确输入。")

浙公网安备 33010602011771号