[英]How to generate but exclude a certain number in a certain digit integer in python
我只是想知道如何生成某個數字整數,但也不包括出現在該數字中的某個數字。
例如,如果我要在3位數字上排除數字0,則無論我生成多少次,都不會出現任何0。 結果的例子是591,292,182,111,181,738等。
如果這是一個功能,例如
def randomIntWithNDigits(n):
,這將是非常有幫助的。
這是一個解決方案,使用字符串中隨機選擇的字符,其中包含除了您不想要的數字之外的每個數字。
import random
def randomIntWithNDigits(n):
numbers = '12456789'
result = ''
for i in range(0,n):
result+= random.choice(numbers)
return result
這很容易。 例如,排除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。
import random
def generaterandom(n):
while True:
rand = random.randrange(0,n)
if not '3' in rand.__str__():
return rand;
print generaterandom(10)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.