生成一个随机数并将其返回

时间:2018-04-19 03:08:08

标签: python-3.x random

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

def calculateDriverShot ():
import random
random.randint(24, 36)
shotDistance = random.randint
return shotDistance

以下是计算中的代码,其中我需要在名称shotDistance下返回的随机数。

        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.")

提前谢谢!

1 个答案:

答案 0 :(得分:0)

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

from random import *

def calculateDriverShot()
    return randint(20, 30)

shotDistance = calculateDriverShot()

我还建议你浏览一些关于函数和模块的教程(如关于问题的评论)。这是一个很好的链接:http://rwet.decontextualize.com/book/functions/