-1
import datetime
import random
t = datetime.datetime.now()
print(t)
if(t.hour == random.randint(0,11)):
    print("Good Morning")   
else:
    print("Good Evening")
4

2 回答 2

3

您正在将当前时间与 0 到 11 之间随机选择的时间进行匹配,因此您很可能找不到匹配项。如果你想测试当前时间是否在 0 到 11 之间,你应该简单地使用链式比较操作:

if 0 <= t.hour <= 11:
    print("Good Morning")
于 2018-10-10T06:26:45.807 回答
1

问题在于程序中的以下代码行:

if(t.hour == random.randint(0,11)):

在这里,您将 t.hour(当前小时)与随机生成的 0 到 11 之间的整数进行比较。

如果t.hour介于 之间0-11,则该语句评估为真的概率等于random.randint(0,11)生成相同整数的概率,即1/12。因此,打印“晚安”的机会是11/12

正确的方法是:

if 0 <= t.hour <= 11:
    print("Good Morning")   
else:
    print("Good Evening")
于 2018-10-10T06:58:12.097 回答