我正在运行这段代码。当我把输入值设置为6或更大时,它不会打印任何东西,也不会显示任何错误。就像它不打印任何东西一样,如果6 <= n <= 20
我试着重写代码或bug,我检查了很多次。
#!/bin/python3
import math
import os
import random
import re
import sys
if __name__ == '__main__':
n = int(input().strip())
if n%2 == 0 :
if 2 <= n <= 5:
print("Not Weird")
elif n%2 == 0:
if 6 <= n <= 20 :
print("Weird")
elif n%2 == 0:
if n > 20:
print("Not Weird")
else:
print("Weird")它没有显示任何错误
发布于 2019-07-06 15:35:50
您没有正确使用if。看看这个,
if __name__ == '__main__':
n = int(input().strip())
if n%2 == 0 :
if 2 <= n and n <= 5:
print("Not Weird")
elif 6 <= n and n <= 20 :
print("Weird")
elif n > 20:
print("Not Weird")
else:
print("Weird")您的代码中有什么错误?
ANS:
if n%2 == 0:
some condition
elif n%2 ==0:
some condition您的if和elif条件是相同的。因此,它从不执行elif条件。
因此,在你的情况下,当n=6时,它进入第一个if条件。因为在第一个if条件中没有任何else语句。它不会像预期的那样print任何东西。
发布于 2019-07-06 15:38:12
尝试以下操作:
if __name__ == '__main__':
n = int(input().strip())
if n%2 == 0 :
if 2 <= n <= 5:
print("Not Weird")
elif 6 <= n <= 20 :
print("Weird")
elif n > 20:
print("Not Weird")
else:
print("Weird")https://stackoverflow.com/questions/56912108
复制相似问题