嘉兴大学Python函数专项练习
先做题,全部思考好了,写完了。再看答案。
1. 题目
平方函数
定义一个函数,接收一个整数列表,然后返回一个新列表,其中包含原列表中每个元素的平方。
回文检测
创建一个函数,接收一个字符串,返回这个字符串是否是回文(即正读反读都一样的字符串)。
abccba
素数检测
编写一个函数,接收一个正整数,返回这个数字是否是素数。
素数是一个自然数,大于1的情况下,只有1和它自身两个正因数。换句话说,如果一个数不能被任何比它小且大于1的数整除,那么它就是素数。
例如,2,3,5,7,11,13,17等都是素数。这是因为除了1和它们自身之外,没有其他数可以整除它们。但是,6就不是素数,因为它可以被2和3整除。
斐波那契序列
定义一个函数,接收一个整数 n,返回斐波那契序列的第n项。
列表元素的平均值
创建一个函数,接收一个数字列表,返回这个列表元素的平均值。
2. Answer
2.1 平方函数
def square_list(nums):
new_lst = []
for i in nums:
r = i ** 2
new_lst.append(r)
return new_lst
nums = [1, 2, 3, 4]
over_lst = square_list(nums)
print(over_lst)
def square_list(nums):
if isinstance(nums, list):
return [num ** 2 for num in nums]
else:
raise TypeError("Input should be a list.")
这个函数首先检查输入是否为列表。如果是,它使用列表推导式返回一个新列表,其中每个元素都是原列表中相应元素的平方。如果输入不是列表,它会抛出一个 TypeError。
2.2 回文检测
def is_palindrome(s):
if isinstance(s, str):
return s == s[::-1]
else:
raise TypeError("Input should be a string.")
这个函数首先检查输入是否为字符串。如果是,它会检查这个字符串是否与其反转相同(使用切片操作[::-1]
进行反转)。如果两者相同,函数返回 True,否则返回 False。如果输入不是字符串,它会抛出一个 TypeError。
2.3 素数检测
def is_prime(n):
if isinstance(n, int) and n > 1:
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
else:
raise ValueError("Input should be an integer greater than 1.")
这个函数首先检查输入是否为大于 1 的整数。如果是,它会检查从 2 到 n 的平方根(+1以保证闭区间)的所有整数是否能够整除n。如果找到一个这样的数字,函数返回 False,否则返回 True。如果输入不是大于1的整数,函数会抛出一个 ValueError。
2.4 斐波那契序列
def fibonacci(n):
if isinstance(n, int) and n >= 0:
if n == 0:
return 0
elif n == 1:
return 1
else:
a, b = 0, 1
for _ in range(n - 1):
a, b = b, a + b
return b
else:
raise ValueError("Input should be a non-negative integer.")
这个函数首先检查输入是否为非负整数。如果是,它返回斐波那契序列的第 n 项(假设第 0 项为 0,第 1 项为 1)。这个函数使用一个简单的循环,每次迭代都更新 a 和 b 的值,直到得到所需的项。如果输入不是非负整数,函数会抛出一个 ValueError。
2.5 列表元素的平均值
def average(nums):
if isinstance(nums, list) and nums:
return sum(nums) / len(nums)
else:
raise ValueError("Input should be a non-empty list.")
这个函数首先检查输入是否为非空列表。如果是,它返回列表中所有数字的平均值(
使用 sum 函数计算总和,然后除以列表的长度)。如果输入不是非空列表,函数会抛出一个 ValueError。
这些函数都具有清晰的输入验证和错误处理,以便在输入不满足预期条件时给出有用的反馈。
公众号:AI悦创【二维码】
AI悦创·编程一对一
AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发、Web、Linux」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh
C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh
方法一:QQ
方法二:微信:Jiabcdefh
- 0
- 0
- 0
- 0
- 0
- 0