
AI辅助 DeepSeek程序编写 2.如果对一个语言不熟,可以先听听AI怎么说
AI根据我们的要求,很快就给出答案。嗯,我需要定义一个函数,当输入是“是”的时候返回1,否则返回0。那首先我应该考虑这个函数的结构。函数应该接受一个参数,对吧?比如说输入一个字符串,然后判断这个字符串是否是“是”,如果是的话返回1,否则返回0。那函数的逻辑应该比较简单。首先,检查输入是否等于“是”。如果是,返回1。否则,不管是其他什么情况,比如“否”、空字符串、或者其他任何输入,都返回0。那这样应
上一集,我们用DeepSeek教我们选择了一款在VC++下面的使用的XLSX文件开源库,并且简单教会我们使用他(OpenXLSX库,可以在Windows和Linux下均可适用)。在这一集,我们让AI教我们定义函数。
1.把我们的问题描述清楚
在我的现实需求中,因为要处理EXCEL文件,也就是说,我们处于两个业务层的中间,在机械工艺部门来说,他们需要表过明确,比方如果需要一定确定的:是/否,那么在XLSX中,一定会表达为:“是/否”,但是在我们的软件中,一般会表达为:1/0,或者true/talse,而在NC文件或者在机械自动化PLC或者高一级的系统中,表达为:1/0,所以在转换时,就需要将“是”转换为:1。那我们将我们的这个需求给AI,看他怎么来处理。
2.定义一个如果是"是" 就为数字 1 ,否则为数字 0的函数
AI根据我们的要求,很快就给出答案。
嗯,我需要定义一个函数,当输入是“是”的时候返回1,否则返回0。那首先我应该考虑这个函数的结构。函数应该接受一个参数,对吧?比如说输入一个字符串,然后判断这个字符串是否是“是”,如果是的话返回1,否则返回0。
那函数的逻辑应该比较简单。首先,检查输入是否等于“是”。如果是,返回1。否则,不管是其他什么情况,比如“否”、空字符串、或者其他任何输入,都返回0。那这样应该就可以满足需求了。
不过,可能要考虑一些特殊情况。比如,用户输入的是否有其他大小写的问题,比如“YES”或者“Yes”,但题目里给出的例子是“是”,所以可能不需要处理其他情况,只需要严格匹配“是”这个字符串。也就是说,只有当输入严格等于“是”的时候,才返回1,其他所有情况都返回0。这样的话,函数就不需要考虑大小写转换或者其他字符串的情况。
那具体怎么实现呢?在Python里,可以定义一个函数,比如叫做check_yes,参数是s。然后在函数体内判断s是否等于“是”。如果是的话,return 1,否则return 0。这样的话,代码应该很简洁。
比如:
def check_yes(s):
if s == "是":
return 1
else:
return 0
或者更简洁的写法,可以用三元表达式:
def check_yes(s):
return 1 if s == "是" else 0
这样应该就可以实现所需的功能了。
不过,有没有可能用户输入的是其他类型的参数,比如数字或者其他类型?题目里有没有说明参数的类型?比如,函数是否应该处理非字符串的情况?例如,如果输入的是整数1,或者布尔值True,这时候应该如何处理?
最终给出来这样的函数:
def check_yes(s):
return 1 if s == "是" else 0
3.但是我用的是VC++,因此并不符合我的要求
“需要C++定义”,注意,这里没有上下文,我直接给出这个要求:“需要C++定义”,体会一下,这个的过程。
AI给出这样的答案:
在 C++ 中实现类似功能的函数可以通过直接比较字符串内容完成。以下是定义和解释:
#include <string>
int check_yes(const std::string& s) {
return (s == "是") ? 1 : 0;
}
关键点解析:
-
参数类型
-
使用
const std::string&
接收字符串参数,避免不必要的拷贝。 -
直接支持标准字符串类型 (
std::string
)。
-
-
字符串比较
-
s == "是"
严格比较字符串内容(区分大小写和编码)。 -
若输入字符串完全匹配
"是"
,返回1
,否则返回0
。
-
-
编码要求
-
确保源代码文件保存为 UTF-8 编码(多数现代编译器支持)。
-
编译器需正确识别中文字符(如 GCC/Clang 需
-finput-charset=UTF-8
选项)。
-
-
类型安全
-
仅接受
std::string
类型输入,非字符串类型会在编译时报错,符合“不处理类型转换”的需求。
-
扩展:兼容 const char*
的版本
若需支持 C 风格字符串,可重载函数:
cpp
int check_yes(const char* s) { return (std::string(s) == "是") ? 1 : 0; }
示例调用
#include <iostream>
int main() {
std::cout << check_yes("是"); // 输出 1
std::cout << check_yes("否"); // 输出 0
std::cout << check_yes("YES"); // 输出 0
return 0;
}
4.最大的优势,在DeepSeek辅助编程时,他会自己联系上下文。
对同一个问题,可以连续提问,相互互动。DS这个Ai他能够自己联系之前的回答我我们提的问题。
更多推荐
所有评论(0)