游戏大约一个星期了,我已经掌握了大量基本代码,但是我陷入困境的是我如何制作它,以便玩家可以使用random.seed设置自己的种子,环顾四周后,我找不到任何实际执行此操作的方法, 我正在考虑在其中放入一个变量,例如 random.seed(variable),但这只使用这个词作为种子,我是否走在正确的轨道上,或者我离目标很远?抱歉,如果这对某些人来说真的很容易,但我对 python 仍然有点陌生
这是一个(非常)短的程序,它打印 50 个从 0 到 100 的随机数,以种子作为第一个参数:
import random
import sys
if len(sys.argv) > 1:
random.seed(sys.argv[1])
for _ in range(0, 50):
print(random.randint(0, 100))
然后从命令行:
python3 myscript.py 1
这将为您提供的任何数字打印一致的集合或随机数。
一个更"可定制"的版本,还包括参数解析:
import argparse
import random
import sys
parser = argparse.ArgumentParser()
parser.add_argument('--seed')
parser.add_argument('--count', default=50, type=int)
parser.add_argument('--max-value', default=100, type=int)
args = parser.parse_args()
if args.seed:
random.seed(args.seed)
for _ in range(0, args.count):
print(random.randint(0, args.max_value))
注意:最好使用 int
作为 random.seed
的参数,但random.seed
也会采用任意字符串并对其进行"编号",以便获得将用于种子的数字。听起来就您的目的而言,此默认行为实际上很好,因此不妨利用它。