我制作了一个小程序,用于生成0到1之间的随机数,并根据打印出的语句(在本例中为“Missed”,“1 point”或“3 points”)为以及实际的数字。该程序生成的数字很好,但我无法打印出这些语句,这里有什么我忽略的吗?
def zeroG():
from random import *
n=random()
#print n
if(0>=n>0.3):
print("miss")
elif(0.3>=n>0.7):
print("1 point")
elif(0.7>=n>=1):
print("3 points")
print n
答案 0 :(得分:1)
您需要将所有>
更改为<
。考虑第一个if
语句,0 >= n > 0.3
等同于0 >= n and n > 0.3
,或者用“n
小于或等于零且大于0.3”。当然你真正想要的是“n
大于或等于零且小于0.3”,即0 <= n < 0.3
。
完整代码:
from random import random
def zeroG():
n = random()
if 0 <= n < 0.3:
print "miss"
elif 0.3 <= n < 0.7:
print "1 point"
elif 0.7 <= n <= 1:
print "3 points"
print n
答案 1 :(得分:1)
看看你的情况:他们倒退了。你需要
if(0<=n<0.3):
print("miss")
elif(0.3<=n<0.7):
print("1 point")
elif(0.7<=n<=1):
print("3 points")
print n