我已经编写了大约一个星期的游戏,并且我已经在其中扎了很多基本代码,但是我却陷入其中,但是我是如何制作它的,以便玩家可以设置自己的种子使用random.seed,四处看看后我找不到任何实际的方法,我当时想像把一个变量像random.seed(variable)一样放进去,但这只是使用单词作为种子,是吗?在这个正确的轨道上,还是我远远超出了预期?抱歉,这对于某些人来说真的很容易,但是我还是python的新手
答案 0 :(得分:0)
这是一个(真正的)简短程序,以种子为第一个参数,打印从0到100的50个随机数:
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
还将采用任意字符串并对其进行“数字化”以获取数字将用于种子。听起来像是出于您的目的,此默认行为实际上很好,因此最好利用它。