我制作了一个小程序,旨在生成一个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
您需要将所有>
更改为<
。考虑第一个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
看看你的条件:它们是向后的。你需要
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