热门角色不仅是灵感来源,更是你的效率助手。通过精挑细选的角色提示词,你可以快速生成高质量内容、提升创作灵感,并找到最契合你需求的解决方案。让创作更轻松,让价值更直接!
我们根据不同用户需求,持续更新角色库,让你总能找到合适的灵感入口。
以专家视角生成满足逻辑和约束的高质量函数
以下是满足需求的calculate_discount函数的实现:
price (float): 原始价格,表示商品的原始价格。discount_rate (float): 折扣率,表示将以多少比例进行折扣计算。price和discount_rate是否有效,给出友好的错误提示。price为负数,会抛出ValueError。discount_rate为负数或大于1.0(100%折扣),也会抛出ValueError。下面是代码实现:
import math
def calculate_discount(price: float, discount_rate: float) -> float:
"""
计算折扣后的价格并四舍五入到两位小数。
参数:
price (float): 原始价格。
discount_rate (float): 折扣率,应在0到1之间。
返回:
float: 折扣后的价格,四舍五入到两位小数。
异常:
ValueError: price为负数或discount_rate不在0到1之间时抛出。
"""
# 参数检查
if price < 0:
raise ValueError("价格不能为负数")
if not (0 <= discount_rate <= 1):
raise ValueError("折扣率必须在0到1之间")
# 折扣计算并四舍五入到两位小数
discounted_price = price * discount_rate
return round(discounted_price, 2)
# 测试代码 (可选)
if __name__ == "__main__":
try:
print(calculate_discount(100.0, 0.15)) # 输出: 15.0
print(calculate_discount(0, 0.5)) # 输出: 0.0
print(calculate_discount(200, 1.0)) # 输出: 200.0
print(calculate_discount(-50, 0.2)) # 抛出 ValueError
except ValueError as e:
print(f"错误: {e}")
参数验证:
ValueError,并给出详细的错误提示。ValueError。逻辑操作:
round函数对结果进行四舍五入到两位小数处理。示例用法:
price为零或discount_rate为零的场景。如果有其他需求或者需要扩展逻辑(例如处理更多的业务规则),可以进一步修改!
以下是使用Java编写的 find_max_value 方法,该方法旨在根据要求实现所描述的功能:
import java.util.*;
public class MaxValueFinder {
/**
* 查找列表中的最大值,支持忽略负数的选项。
* @param data_list List<Integer> 输入的整数列表
* @param ignore_negative boolean 是否忽略负数
* @return 列表中的最大值(整数),或者在特定条件下返回 null
*/
public static Integer find_max_value(List<Integer> data_list, boolean ignore_negative) {
// 边界检查:如果列表为空或为 null,直接返回 null
if (data_list == null || data_list.isEmpty()) {
return null;
}
// 如果忽略负数,则过滤掉负数
if (ignore_negative) {
// 使用流来过滤出非负数
data_list = new ArrayList<>(data_list);
data_list.removeIf(number -> number < 0);
}
// 再次检查:列表可能被过滤为空
if (data_list.isEmpty()) {
return null; // 如果只剩负数且被过滤,返回 null
}
// 利用 Collections 的内置方法获取最大值
return Collections.max(data_list);
}
public static void main(String[] args) {
// 示例测试
List<Integer> test_list1 = Arrays.asList(3, -1, 7, 2, -10);
List<Integer> test_list2 = Arrays.asList(-5, -15, -22, -1);
List<Integer> test_list3 = new ArrayList<>();
System.out.println(find_max_value(test_list1, false)); // 输出 7
System.out.println(find_max_value(test_list1, true)); // 输出 7
System.out.println(find_max_value(test_list2, false)); // 输出 -1
System.out.println(find_max_value(test_list2, true)); // 输出 null
System.out.println(find_max_value(test_list3, true)); // 输出 null
}
}
null。如果是,返回 null 作为输出。ignore_negative 为 true 时,使用 removeIf 过滤掉所有负数。如果过滤后列表为空,则直接返回 null。Collections.max 从列表中高效查找最大值。null。可以通过主函数对不同输入和边界情况进行验证:
Collections.max 和流操作,简化了代码并提升可读性。以下是generate_multiplication_table函数的实现代码,采用JavaScript编写,考虑了处理边界情况以及提升代码性能与可维护性:
/**
* Generates a multiplication table for a given number up to the specified limit.
*
* @param {number} number - The base number for the multiplication table.
* @param {number} limit - The upper limit up to which the multiplication table is generated.
* @returns {Array<number>} - An array containing the results of the multiplication table.
*/
function generate_multiplication_table(number, limit) {
// Ensure inputs are valid integers
if (!Number.isInteger(number) || !Number.isInteger(limit)) {
throw new Error("Both 'number' and 'limit' must be integers.");
}
// Handle edge cases
if (limit <= 0) {
// When limit is 0 or negative, return an empty array
return [];
}
// Generate the multiplication table
const result = Array.from({ length: limit }, (_, i) => number * (i + 1));
return result;
}
// Example usage:
console.log(generate_multiplication_table(5, 10)); // Output: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
console.log(generate_multiplication_table(3, 0)); // Output: []
console.log(generate_multiplication_table(7, -5)); // Output: []
console.log(generate_multiplication_table(2, 5)); // Output: [2, 4, 6, 8, 10]
核心逻辑:
Array.from()生成一个数组,其中length指定了数组大小为limit。(_, i)生成所需的乘法结果,计算公式为number * (i + 1)。边界处理:
limit <= 0,返回空数组,表示没有需要生成结果的情况。性能优化:
Array.from()的方法比普通for循环写法更简洁且易读,避免了显式地创建变量和手动推入数组的操作。附加验证:
Number.isInteger()保证输入的合法性,防止非整数输入导致的计算错误。此实现严谨、简洁且高效,非常适合在需要处理边界值的情况下进行乘法表生成。
提供一个高效、专业的工具,帮助开发者快速生成满足复杂逻辑和约束条件的高质量代码函数,提升开发效率并减少潜在错误。
需要快速实现复杂功能逻辑的高效函数,同时确保代码性能与边界条件的可靠处理。
处理算法优化时,用于生成逻辑严谨且高效的代码实现,节省繁杂的代码编写时间。
借助模板化的代码输出,学习编程语言核心函数结构和常见实践技巧,提升编程能力。
将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。
把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。
在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。
免费获取高级提示词-优惠即将到期