Python随机数生成器程序不打印结果

时间:2013-12-11 04:59:11

标签: python

我制作了一个小程序,用于生成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

2 个答案:

答案 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