小编Ami*_* R.的帖子

用C++中的函数递归

我有理解这段代码的问题:

#include <iostream>
using namespace std;

void Print_numm(int numm){
    cout<<numm;
    if (numm<=4) {
        Print_numm(numm+1);
    }
    cout<<numm;
}


int main() {
    Print_numm(1);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是1234554321.我理解递归直到它打印123455.但为什么编译器打印剩下的数字到1?编译器每次都会执行第二次"cout"吗?如果是这样的话它如何保持数字直到它们打印到5,然后打印剩下的数字?

c++ recursion

1
推荐指数
1
解决办法
172
查看次数

使用"in"运算符,Python的结果不同

这段代码的结果

items = ['j','ak',(4,5)]
tests = ['j','as',(4,5)]
for key in tests:
    for item in items:
        if item==key:
            print key,'was found'
            break
    else:
        print key,'not found'
Run Code Online (Sandbox Code Playgroud)

是:
j被发现
未找到
(4,5)被发现

和这块代码的结果

items = ['j','ak',(4,5)]
tests = ['j','as',(4,5)]
for key in tests:
    if key in items:
        print key+' was found'
    else:
        print key+' not found'
Run Code Online (Sandbox Code Playgroud)

是:
j被发现
没有找到

现在,问题是:第二个块中的为什么(4,5)在"测试"和"项目"中没有进行比较,而其中任何一个块的结果应该相同?它是"in"运算符的东西吗?

python

-4
推荐指数
1
解决办法
57
查看次数

标签 统计

c++ ×1

python ×1

recursion ×1