2017-01-22 63 views
-1

我在Cc/Python這樣的循環等價嗎?

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

此代碼會是什麼相當於在Python?

在C中,儘管看起來像這樣,但它不是一個無限循環。在Python中它會類似嗎?

+1

我要投票關閉這個問題作爲題外話,因爲這不是一個教程服務。 OP應該檢查官方Python文檔和其他輔導站點。 –

+1

由於這個C程序表現出未定義的行爲,因此不清楚作者所要求的Python程序。 Jonath,你認爲這個程序到底是什麼? –

+0

鑑於[這是關於在Python中整數的最大值的響應](https://stackoverflow.com/questions/7604966/maximum-and-minimum-values-forints),我要說的行爲將是不同的。 – AntonH

回答

2

Python的整數並不在不斷的字節數的限制,只能在你的內存限制。此循環將永遠持續下去,直到您的計算機內存不足。

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


反正就是終止相當於是

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

(考慮32位整數)

0

這樣?:

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

main() 
+1

正確縮進。 – falsetru

0

您可以numpy試試這個:

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