簡體   English   中英

C / Python的等效循環?

[英]c / Python equivalence for such a loop?

我在C中有此代碼

int main(){
    int t = 1;
    while(t != 0)
        t = t + 1;
    return 0;
}

Python中的等效功能是什么?

在C語言中,盡管看起來是這樣,但這不是無限循環。 在Python中會類似嗎?

Python整數不受字節數限制,僅受RAM限制。 這個循環將永遠持續下去,直到您的計算機內存不足為止。

使用sys.getsizeof(int())sys.getsizeof(int(2**128))來測試此行為。


無論如何,終止的等效項是

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

(考慮32位整數)

像這樣?:

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

main()

您可以嘗試使用numpy

import numpy as np
t = (np.int16)(1)
while t != 0: 
    print t
    t += (np.int16)(1)
print t

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM