#15817: python請教


dean52000@gmail.com (Andy)

學校 : 不指定學校
編號 : 87795
來源 : [220.136.212.138]
最後登入時間 :
2022-09-16 22:49:04
a004. 文文的求婚 | From: [36.229.85.110] | 發表日期 : 2018-11-02 17:35

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:      沒過

#0: 4% WA (line:1)

您的答案為: 平年
正確答案為: 閏年

  

這題後來我雖然過了,但是我還是要請教一下。

上述的IF判斷式,差在於OR前面的誇號就過不了了,為什麼呢。

 
#15819: Re:python請教


tang891228 (tang891228)

學校 : 國立成功大學
編號 : 61119
來源 : [140.116.1.138]
最後登入時間 :
2018-09-24 00:20:31
a004. 文文的求婚 | From: [61.227.226.6] | 發表日期 : 2018-11-02 20:38

不是這個問題

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('平年')

 

 
#16318: Re:python請教


heybro (heyguys)

學校 : 國立屏東科技大學
編號 : 89510
來源 : [220.134.211.125]
最後登入時間 :
2018-12-19 21:06:57
a004. 文文的求婚 | From: [220.134.211.125] | 發表日期 : 2018-12-18 19:36

不是這個問題

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' 

會出現以上錯誤↑

 
ZeroJudge Forum