python第五章习题
5.1
点击查看代码
def draw_tianzi_grid(size):
"""
用字符方式打印输出一个简单的田字格
参数:
size -- 控制田字格中每个小格子的大小(行数和列数)
"""
if size < 1:
print("大小必须大于等于1")
return
# 计算总行数和列数(2条水平分隔线和2条垂直分隔线)
# 每个小格子有size行size列字符
total_lines = size * 2 + 3 # 2个小格子 + 3条线(上边框、中线和下边框)
for i in range(total_lines):
line = []
for j in range(total_lines):
# 判断是否在水平分隔线上(包括边框)
if i % (size + 1) == 0:
# 判断是否在垂直分隔线上(包括边框)
if j % (size + 1) == 0:
line.append('+')
else:
line.append('-')
else:
# 判断是否在垂直分隔线上(包括边框)
if j % (size + 1) == 0:
line.append('|')
else:
line.append(' ')
print(''.join(line))
N=int(input())
draw_tianzi_grid(N)
点击查看代码
def isOdd(num):
try:
num=int(num)
if num%2==0:
return False
else:
return True
except ValueError:
return False
N=input()
print(isOdd(N))
点击查看代码
def isPrime(num):
try:
num=int(num)
if num<=3:
return True
for i in range(2,int(num**0.5)+1):
if num%i==0:
return False
return True
except ValueError:
return False
N=input()
print(isPrime(N))
点击查看代码
def PrimeList(num):
prime_num=[1,]
try:
num=int(num)
for num in range(2,num+1):
prime=True
for i in range(2,int(num**0.5)+1):
if num%i==0:
prime= False
break
if prime:
prime_num.append(num)
return prime_num
except ValueError:
return 0
N=input()
print(PrimeList(N))
点击查看代码
def isNum(num):
try:
complex(num)
return True
except ValueError:
return False
num=input()
print(isNum(num))
点击查看代码
def multi(*num):
if num:
if not all(num):
return 0
else:
mul = 1
for i in num:
mul=mul*i
return mul
else:
None
input_str = input()
num_list = [float(x) for x in input_str.split()]
result=multi(*num_list)
print(result)
点击查看代码
def FabN(num):
f1=1
f2=1
if num==1 or num==2:
return 1
else:
for i in range(3,num+1):
f3=f1+f2
f1=f2
f2=f3
return f3
n=int(input())
print(FabN(n))
点击查看代码
def isType(data):
if isinstance(data, int):
return "整数"
elif isinstance(data, float):
return "小数"
elif isinstance(data, complex):
return "复数"
elif isinstance(data, str):
return "字符串"
elif isinstance(data, list):
return "列表"
elif isinstance(data, dict):
return "字典"
elif isinstance(data, set):
return "集合"
elif isinstance(data, tuple):
return "元组"
# 获取用户输入
user_input = input("请输入一个数据: ")
try:
# 使用eval尝试将输入转换为实际的对象
data = eval(user_input)
result = isType(data)
except:
# 如果转换失败,当作字符串处理
result = isType(user_input)
print(f"你输入的数据类型是: {result}")