if (int(x) % 4 == 0 and int(x) % 100 != 0) or int(x) % 400 == 0: 過
---------------------------------------------------------------------------------------
if int(x) % 4 == 0 and int(x) % 100 != 0 or int(x) % 400 == 0: 沒過
您的答案為: 平年 正確答案為: 閏年
這題後來我雖然過了,但是我還是要請教一下。
上述的IF判斷式,差在於OR前面的誇號就過不了了,為什麼呢。
不是這個問題
and 的計算順序優先於 or
我測試了這兩個程式碼都可以通過:
import sys for x in sys.stdin: if (int(x) % 4 == 0 and int(x) % 100 != 0) or int(x) % 400 == 0: print('閏年') else: print('平年')
import sys for x in sys.stdin: if int(x) % 4 == 0 and int(x) % 100 != 0 or int(x) % 400 == 0: print('閏年') else: print('平年')
不是這個問題
and 的計算順序優先於 or
我測試了這兩個程式碼都可以通過:
import sys for x in sys.stdin: if (int(x) % 4 == 0 and int(x) % 100 != 0) or int(x) % 400 == 0: print('閏年') else: print('平年')
import sys for x in sys.stdin: if int(x) % 4 == 0 and int(x) % 100 != 0 or int(x) % 400 == 0: print('閏年') else: print('平年')
可是我拿你的去試跑卻是顯示錯誤0.0
import sys
>>> for x in sys.stdin:
if (int(x) % 4 == 0 and int(x) % 100 != 0) or int(x) % 400 == 0:
print('閏年')
else:
print('平年')
Traceback (most recent call last):
File "<pyshell#16>", line 2, in <module>
if (int(x) % 4 == 0 and int(x) % 100 != 0) or int(x) % 400 == 0:
ValueError: invalid literal for int() with base 10: '\n'
會出現以上錯誤↑