Python 3.x 生成一个随机数并返回它

Python 3.x 生成一个随机数并返回它,python-3.x,random,Python 3.x,Random,我在堆栈中搜索了一个答案,但所有答案都太复杂了,我无法理解(我刚刚开始学习python编程)。我要做的就是生成一个随机数,比如说20到30,然后命名这个随机数(如果随机数是25,那么shotDistance=25)。下面是我目前拥有的mt随机数代码,但我不断收到错误,例如“TypeError:不支持的操作数类型-:'int'和'method'”或“TypeError:不支持的操作数类型-:'int'和'srt'”。因为在返回随机数后,我在计算中得到了它(TotalDistanceResistin

我在堆栈中搜索了一个答案,但所有答案都太复杂了,我无法理解(我刚刚开始学习python编程)。我要做的就是生成一个随机数,比如说20到30,然后命名这个随机数(如果随机数是25,那么shotDistance=25)。下面是我目前拥有的mt随机数代码,但我不断收到错误,例如“TypeError:不支持的操作数类型-:'int'和'method'”或“TypeError:不支持的操作数类型-:'int'和'srt'”。因为在返回随机数后,我在计算中得到了它(TotalDistanceResisting=TotalDistanceResisting-shotDistance),这就是它显示错误的地方

def calculateDriverShot ():
import random
random.randint(24, 36)
shotDistance = random.randint
return shotDistance
下面是计算代码,我需要在shotdestance名称下返回随机数

        elif clubSelection == 'd':
        calculateDriverShot ()
        shotDistance = calculateDriverShot()
        hitsNumber = hitsNumber + 1
        totalDistanceRemaining = totalDistanceRemaining - shotDistance
        print("Your shot went " + str(shotDistance) + "m. You are " + str(totalDistanceRemaining) + " from the hole, after " + str(hitsNumber) + " shot/s.")

提前谢谢你

首先,您的函数空格是错误的,您不应该在函数内部导入模块。修复此问题以防止将来出现错误。接下来,在
calculateShotDistance
函数中,您正在调用randint,但是您通过再次调用randint而使
shotDistance
成为一个完全不同的数字,没有任何参数(这是一个错误,因为您要求它打印类对象)。同样,您不需要在函数中使用
shotdistance
。这是缩短的代码,您可以修复所需的部件

from random import *

def calculateDriverShot()
    return randint(20, 30)

shotDistance = calculateDriverShot()

我还建议您阅读一些关于函数和模块的教程(如对问题的评论)。这是一个很好的开始链接:

听起来您需要一个非常基础的教程,从函数是什么开始,如何调用它并分配返回值。考虑到你目前的尝试和“所有答案都太复杂,我无法理解”的说法,我希望这里给出的任何答案都会有同样的问题。在阅读了一些教程之后,我建议回到SO,这样你就可以理解你找到的其他答案了。我知道函数是什么,如何调用它,如何分配返回值,我以前做过。但是,我在随机数生成器方面遇到了问题。请原谅我这么说,但是您的代码显示了其他方面。随机数生成器只是一个函数。你肯定没有正确地使用它。