整型与布尔型的转换

GitHub跳转原题关系图返回列表

用 bool 判断整数是否非零,再转成 int 输出 0 或 1。

OJ: noi_openjudge

题目 ID: ch0102-09

难度:入门

标签:类型转换python

日期: 2026-07-30 23:01

题意

把一个整数转换为布尔值,再转换回整数,输出最终结果。

思路

整数转布尔值时,0 为假,任何非零整数为真。Python 用 bool(number) 完成这一步;再用 int(...)FalseTrue 分别转为 01,恰好对应 C/C++ 的结果。

代码

Python代码

python
number = int(input())
print(int(bool(number)))

C++代码

这里保留原有的 C++ 参考实现。

cpp
#include <cstdio>

int main(){
    int a;
    bool b;
    scanf("%d",&a);
    b = a;
    printf("%d",b);
    return 0;
}

复杂度

时间复杂度和额外空间复杂度均为 O(1)O(1)

总结

int(bool(x)) 是把“是否非零”直接规范化成 01 的清晰写法。