目前我每次尝试运行时都会这样:
start_1 = Random.randint(0, 25)
我明白了:
TypeError: randint() missing 1 required positional argument: 'b'
但是定义和代码完成只表明了两个参数。是的,我正在导入随机。
按要求提供整个代码:
# -*- coding: utf-8 -*-
"""
Created on Fri May 19 22:01:54 2017
@author:
"""
from random import Random
Random.randint(0, 25)
答案 0 :(得分:3)
Random
的 R
是类 - 因此您需要实例化它:
from random import Random # Random with capital R is the class
random = Random() # Instantiate this class
random.randint(0, 25) # Calling a method of the *object*
当然,你可以用
替换最后两行Random().randint(0, 25) # creating object of class Random just for this purpose
为什么...missing positional argument: 'b'
使用(不正确)?
函数randint()
在类Random
中以标准方式定义为
def randint(self, a, b):
所以它需要3
个参数 - 而且您只提供了2
。
(参数self
是一个特殊的(隐藏的)参数 - 在正确使用的情况下,它将被调用对象本身自动替换。)
更舒适的可能性
import random
random.randint(0, 25)
或
from random import randint
randint(0, 25)
randint
模块中的random
(巧妙地,为方便起见)定义为
randint = Random().randint # Create temporary object and get its method
答案 1 :(得分:2)
您应该只导入random
import random
print(random.randint(1,20))
答案 2 :(得分:0)
这是整个程序,如果没有,你可以给我们整个程序吗?另外,尝试做: start_1 = random.randint(randint(0,25))