2016-06-10 149 views
-2

我只是學習Python 3中,並在他的代碼中的一些%,見下圖:Python3:這個「%」在這段代碼中意味着什麼?

def main(): 
    maxwidth = 100 # limita o numero de caracteres numa célula 
    print_start() # chama a função print_start 
    count = 0 # cria uma variavel cont 
while True: 
    try: 
     line = input() 
     if count == 0: 
      color = "lightgreen" 
     elif count % 2: 
      color = "white" 
     else: 
      color = "lightyellow" 
     print_line(line, color, maxwidth) 
     count += 1 
    except EOFError: 
     break 
print_end() # chama a função print_end 

這是什麼elif count % 2:線意味着什麼?

+3

這是模運算符,就像在許多其他語言(C,使用Javascript,PHP)。請參閱http://www.tutorialspoint.com/python/python_basic_operators.htm – Barmar

+3

您從中學習到什麼並不能解釋所有運營商是什麼? – Barmar

+0

humm,感謝您的幫助 –

回答

3

這就是所謂的modulo or modulus operator

它由「正確」的值除以「左」值,並返回Remainder(偶數分割後剩下的量)。

它通常用於解決每N次迭代或循環做某事的問題。如果我想打印一個消息每100環,我可以這樣做:

for i in xrange(10000): 
    if i % 100 == 0: 
     print "{} iterations passed!".format(i) 

我會看到:

0 iterations passed! 
100 iterations passed! 
200 iterations passed! 
300 iterations passed! 
400 iterations passed! 
500 iterations passed! 
... 

在你的代碼,if count % 2會作用於所有其他迭代:1,3, 5,7,9。如果count是0,2,4,6,或8,count % 2將返回0並表達將是False

2

這是一個模操作。將它除以2,如果餘數爲零,則爲偶數。它在編程中經常使用,對於任何程序員來說都是必須知道的。

相關問題