小编Yam*_*ami的帖子

如何运行命令的百分比

如果他们被挑选,我有10件我想要打印的东西.但是每个人都应该有不同的发生几率.

我尝试过以下操作:

    chance = (random.randint(1,100))
    if chance < 20:
        print ("20% chance of getting this")
Run Code Online (Sandbox Code Playgroud)

问题是,如果我再说一次,机会<25,如果randint是10,那么机会<25和机会<20都不会同时运行吗?

这是我想要有机会继续的代码.

print ("You selected Grand Theft Auto")
gta = input ("To commit GTA input GTA")
if gta in ("gta", "Gta", "GTA"):
Run Code Online (Sandbox Code Playgroud)

编辑:

好吧所以我尝试了这个,但它一直提供3个输出.

print ("You selected Grand Thief Auto")
    gta = input ("To commit GTA type GTA")
    if gta in ("gta", "Gta", "GTA"):
        chance = random.randint(0,100)
        if chance <= 1:
            print ("You stole a Bugatti Veryron")
        chance = random.randint(0,100)
        if chance <= 5:
            print …
Run Code Online (Sandbox Code Playgroud)

python random percentage

5
推荐指数
2
解决办法
8618
查看次数

生成长度为 6 的所有可能的字母和数字组合时出现 MemoryError

我正在尝试输出字母和数字的每个可能的 6 长度组合的列表。

我已经尝试了许多不同类型的代码,这似乎是最好的,但它不适用于我使用它的长长度。

import itertools
import pprint
letters = ["A","B","C","D","E","F","G","H","I","J","K","L","M",
          "N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
          "0","1","2","3","4","5","6","7","8","9"]
pprint.pprint(list(itertools.product(letters, repeat=6)))
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我收到此错误:

MemoryError
Run Code Online (Sandbox Code Playgroud)

它确实适用于小于 5 的重复设置。

我怎样才能解决这个问题?有没有更简单或更好的方法来获得相同的结果?是否可以将其输出到文本文件而不必打印它?我不在乎是否有重复,但如果没有重复则更好。

这个网站:textmechanic.com/Combination-Generator.html 也做了我想要的同样的事情,但它不适用于我正在使用的大量对象和组合的长度。如果已经有这样的列表,那就可以了。

或者根本不可能完成这件事?

python combinations permutation out-of-memory python-3.x

1
推荐指数
1
解决办法
2803
查看次数