Python 如何获得 random.randint(1,20)起止数和 range(1,7)起止数及个数

2020-01-12 21:19:41 +08:00
 huage

random.randint(1,20),如何获得 1 和 20 这个两个值,用两个变量表示。 range(1,7),如何获得 1 和 7 这个两个值,以及总共有多少个数量,用三个变量表示。

需要使用这些数值,打印出来。

2471 次点击
所在节点    Python
3 条回复
ericls
2020-01-12 21:45:21 +08:00
估计得 frame hack
lybcyd
2020-01-12 21:48:45 +08:00
没太懂这个需求是啥意思。如果单纯为了打印的话,这些不都是函数吗,使用的时候把变量传进去不就行了吗?先定义 start=1,stop=7,然后 range(start, stop)。打印直接打印 start,stop,stop-start
chenstack
2020-01-13 09:08:49 +08:00
python3 里面 range 是可以获取这些信息的
r = range(1, 7)
print(r.start)
print(r.stop)
print(len(r))

random.randint 直接就返回 int 结果了,所以并不能获取,虽然可以 hook 一下,但并没有必要,而且并不适用多线程和多进程
import random
import types


random._randint = random.randint


random_data = types.SimpleNamespace()


def randint(a, b):
    random_data.a = a
    random_data.b = b
    return random._randint(a, b)


random.randint = randint


rd = random.randint(1, 20)
print(random_data.a)
print(random_data.b)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/637314

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX