Python错误集锦:random.randrange()函数提示:# Non-unit step argument supplied.

原文链接: http://www.juzicode.com/python-error-random-randrange-non-unit-step-argument-supplied/

错误提示:

 使用random.randrange()函数时提示:Non-unit step argument supplied.

#juzicode.com / vx公众号:桔子code
import  random
num = random.randrange(900,100)
print(num)
==========运行结果:
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-53-d15ee436301c> in <module>
      1 #juzicode.com / vx公众号:桔子code
      2 import  random
----> 3 num = random.randrange(900,100)
      4 print(num)

d:\python\python38\lib\random.py in randrange(self, start, stop, step, _int)
    224             return istart + self._randbelow(width)
    225         if step == 1:
--> 226             raise ValueError("empty range for randrange() (%d, %d, %d)" % (istart, istop, width))
    227 
    228         # Non-unit step argument supplied.

ValueError: empty range for randrange() (900, 100, -800)

  

错误原因:

1、该例中random.randrange()函数虽然提示没有提供第3个步长参数:Non-unit step argument supplied,但是实际错误是第1个参数大于第2个参数导致的,需要修正该错误。

 

解决方法:

1、修改random.randrange(900,100)为random.randrange(100,900)保证第1个参数小于第2个参数,修改后还可以在第3个参数上使用步长参数:

#juzicode.com / vx公众号:桔子code
import  random
num = random.randrange(100,900)
print(num)
num = random.randrange(100,900,100)
print(num)
==========运行结果:
551 
100

 

扩展内容:

  1.  Python进阶教程m15–random伪随机数模块

 


 

如果本文还没有完全解决你的疑惑,你也可以在微信公众号“桔子code”后台给我留言,欢迎一起探讨交流。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注