谁能帮我完成这个python-if-else任务?

时间:2019-09-21 12:24:56

标签: python if-statement

Assignment image

import random

n = random.randint(1,100)
if (n % 2 != 0):
    print("Weird")
elif (n % 2 == 0 and n in range(2,5)):
    print("Not Weird")
elif (n % 2 == 0 and n in range(6,20)):
    print("Weird")
elif (n % 2 == 0 and n > 20):
    print("Not Weird")    

此代码是否有问题?

2 个答案:

答案 0 :(得分:0)

您的范围检查并不严格,例如:range(2, 5)包括介于24之间的整数,但是总有一种更简单的编写方法;试试这个:

import random    
n = random.randint(1,100)

if n % 2 != 0:
    print("Weird")
elif 2 <= n <= 5: # from this point on, the number can only be even
    print("Not Weird")
elif 6 <= n <= 20:
    print("Weird")
elif n > 20:
    print("Not Weird")

或更妙的是,它更简单,而且功能相同:

if n % 2 != 0 or 6 <= n <= 20:
    print("Weird")
else:
    print("Not Weird")

答案 1 :(得分:-1)

随机导入

n = random.randint(1,100)
print(n)
if (n % 2 != 0):
    print("Weird")
elif (n % 2 == 0 and n in range(2,5)):
    print("Not Weird")
elif (n % 2 == 0 and n in range(5,20)):
    print("Weird")
elif (n % 2 == 0 and n >= 20):
    print("Not Weird")

您错过了一些我刚刚更新了代码的范围。