我只是想知道如何生成某個數字整數,但也不包括出現在該數字中的某個數字。如何生成但排除在Python中的某個數字整數中的某個數字
例如,如果我要排除3位數字上的數字0,則無論我生成多少次,都不會出現任何0。結果的例子是591,292,182,111,181,738,等
如果這是在一個函數,e.g
def randomIntWithNDigits(n):
,這將是非常有益的。
我只是想知道如何生成某個數字整數,但也不包括出現在該數字中的某個數字。如何生成但排除在Python中的某個數字整數中的某個數字
例如,如果我要排除3位數字上的數字0,則無論我生成多少次,都不會出現任何0。結果的例子是591,292,182,111,181,738,等
如果這是在一個函數,e.g
def randomIntWithNDigits(n):
,這將是非常有益的。
下面是一個解決方案,使用隨機選擇的字符串中的字符,其中包含除了你不想要的數字之外的每個數字。
import random
def randomIntWithNDigits(n):
numbers = '12456789'
result = ''
for i in range(0,n):
result+= random.choice(numbers)
return result
'''.join(random.choice(numbers)for i in range(n))' –
import random
def generaterandom(n):
while True:
rand = random.randrange(0,n)
if not '3' in rand.__str__():
return rand;
print generaterandom(10)
這是相當容易的。例如,排除0:
def randomIntWithNDigits(n):
allowedDigits = [1, 2, 3, 4, 5, 6, 7, 8, 9]
randInts = []
for i in range(n):
randInts.append(random.sample(allowedDigits, 1))
return int(''.join(map(str, randInts)))
當需要排除某些其他數字時,您應該更改allowedDigits。
你試過寫嗎? – WeaselFox
不能直接做到這一點,最好的辦法是生成隨機數,同時出現匹配的隨機數[一個沒有3的數字]] – ManZzup