|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我在做38讲动动手的时候发现了这样的问题,我不知道怎么多次调用random.randint()产生多个不同的值?请教一下广大鱼油
 - import math
- import random as r
- class Length:
- def __init__(self):
- self.x = r.randint(0, 10)
- self.y = r.randint(0, 10)
- def getLen(self):
- a = [self.x, self.y]
- b = [self.x, self.y]
- print("线条的初始点位%s, 终点为%s" % (a, b))
- length = math.sqrt((a[0] - b[0]) ** 2 + (a[1] - b[1]) ** 2)
- print("两点之间的距离为%.2f" % length)
- l = Length()
- l.getLen()
复制代码
本帖最后由 Stubborn 于 2019-4-8 20:12 编辑
__init__ 初始化类属性,定值之后不会变,除非是从新实例化一个对象,才会变更,每次要变,只要在调用的试试,重新获取随机值
- import math
- import random as r
- class Length:
- @staticmethod
- def random():
- x = r.randint(0, 10)
- y = r.randint(0, 10)
- return [x,y]
- def getLen(self):
- a = self.random()
- b = self.random()
- print("线条的初始点位%s, 终点为%s" % (a, b))
- length = math.sqrt((a[0] - b[0]) ** 2 + (a[1] - b[1]) ** 2)
- print("两点之间的距离为%.2f" % length)
- l = Length()
- l.getLen()
- l.getLen()
- l.getLen()
复制代码- 线条的初始点位[1, 9], 终点为[4, 9]
- 两点之间的距离为3.00
- 线条的初始点位[5, 1], 终点为[4, 9]
- 两点之间的距离为8.06
- 线条的初始点位[8, 5], 终点为[8, 9]
- 两点之间的距离为4.00
复制代码
|
|