第五章习题
5.1
def draw_grid():
for i in range(9):
if i % 2 == 0:
print("+---" * 4 + "+")
else:
print("| " * 4 + "|")
draw_grid()
5.2
def is_odd(n):
return n % 2 != 0
num = int(input("请输入一个整数:"))
print(f"Ture" if is_odd(num) else f"False")
5.3
def is_prime(n):
"""判断n是否为质数"""
if n <= 1:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
print(is_prime(17))
print(is_prime(15))
5.4
def primes_list(n):
"""生成小于n的所有质数"""
primes = []
for num in range(2, n):
is_prime = True
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
is_prime = False
break
if is_prime:
primes.append(num)
return primes
print(primes_list(100))
5.5
char = input("请输入一个字符:")
if char.isnumeric():
print(f"Ture")
else:
print(f"False")
5.6
def multi(*args):
"""计算任意数量数字的乘积"""
if not args:
return 1
result = 1
for num in args:
result *= num
return result
print(multi(2, 3, 5))
print(multi())
5.7
def fib(n):
"""递归实现(时间复杂度O(2^n))"""
if n <= 1:
return n
return fib(n-1) + fib(n-2)
示例:打印前10项
print([fib(i) for i in range(10)]) # [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
5.8
data = 3.14
print(type(data)) # 输出:<class 'float'>
类型判断
if type(data) == float:
print("这是浮点数")