c /这种循环的Python等价?

时间:2017-01-22 06:54:16

标签: python c

我在C

中有这段代码
int main(){
    int t = 1;
    while(t != 0)
        t = t + 1;
    return 0;
}

Python中的等价物是什么?

在C中,虽然看起来如此,但它不是无限循环。它会在Python中类似吗?

3 个答案:

答案 0 :(得分:2)

Python整数不限于常量字节数,仅限于RAM限制。这个循环将永远存在,直到你的计算机内存不足。

使用sys.getsizeof(int())sys.getsizeof(int(2**128))来测试此行为。

无论如何,终止的等价物是

t = 1
while t < 2**32:
    t += 1

(考虑32位整数)

答案 1 :(得分:0)

像这样?:

def main():
    t = 1
    while t != 0:
        t += 1
    return 0

main()

答案 2 :(得分:0)

您可以使用numpy

尝试此操作
import numpy as np
t = (np.int16)(1)
while t != 0: 
    print t
    t += (np.int16)(1)
print t