2013-12-11 43 views
0

我做了一个小程序,旨在生成一个0和1之间的随机数,并根据它打印出来的语句(在这种情况下“错过”,“1分“或”3分“)以及实际制作的数字。该程序生成的数字很好,但我无法打印出这些陈述,有没有我在这里忽略的东西?Python随机数发生器程序不打印结果

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

如果你只使用'random.random',只是'从随机导入随机'。 – roippi

回答

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 
+0

Thankyou,我一直在看这个代码现在年龄和完全错过 –

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 
+0

并且不要忘记设置种子随机 – Mine