我已经通过堆栈搜索了一个答案,但所有答案都太复杂了,我无法理解(我刚开始学习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.")
提前谢谢!
答案 0 :(得分:0)
首先,你的函数空格是错误的,你永远不应该在函数内导入一个模块。修复此问题以防止将来出现错误。接下来,在calculateShotDistance
函数中,您正在调用randint,但是您通过再次调用randint完全使shotDistance
成为一个不同的数字,没有任何参数(这是一个错误,因为您要求它打印一个类对象。)然后,您在函数中不需要shotdistance
。这是缩短的代码,您可以修复所需的部分。
from random import *
def calculateDriverShot()
return randint(20, 30)
shotDistance = calculateDriverShot()
我还建议你浏览一些关于函数和模块的教程(如关于问题的评论)。这是一个很好的链接:http://rwet.decontextualize.com/book/functions/