2011-06-15 70 views
-3

誰能告訴我這類C的蟒蛇for循環式的for循環Python版本對C for循環

for (end_timeout=1, i=0; i<TIME_OUT; i++) 
    { 
     bit = Inp32(status_register) & (1 << PtrClk); 

     if ((bit >> PtrClk) == 1) 
     { 
      end_timeout = 0; 
      break; 
     } 
    } 

感謝。

+0

根據您的姓名,您最好不要使用for-loops和sleep來執行任何類型的超時或計時代碼,因爲它非常容易異步。最好是輪詢系統時鐘。有關'range'的更多信息,請參閱'help(range)'。除非你仍然使用python2,否則不需要使用'xrange'。旁註:如果你正在迭代一個列表,你可以爲''列出枚舉值(myList):''。 – ninjagecko 2011-06-15 23:11:08

回答

3
end_timeout = 1 
for i in xrange(TIME_OUT): 
    ... 

這將i == 0開始循環。如果你想從i == n開始使用xrange(n, TIME_OUT)

請參閱xrange的文檔。

+1

由於您不知道OP是否使用Python 2或3,我不會使用xrange。 – Voo 2011-06-15 22:52:47

+0

@Voo:的確,我不這樣做,但是如果他們使用python 2,我更喜歡'範圍'上的'xrange'。 – 2011-06-15 22:58:12

5
end_timeout = 1 
for i in range(TIME_OUT): 
    pass 
1
end_timeout = 1 
for i in range(TIME_OUT): 
    # ...your code