生成 N * N 隨機字符。
我會讓代碼完美,但它不起作用。
請任何人幫助男人。
import random
n=int(input("Enter a number :"))
matrix = []
for i in range(n):
for j in range(n):
temp = chr(random.randrange(33,126))
if temp in matrix:
j-=1
else:
matrix.append(temp)
print(matrix,len(matrix))
n = 4 我想要 16 個隨機字符。
n = 5 ['a' , '@' , '5' ......] 我想要的最多 25 個字符。
uj5u.com熱心網友回復:
import random
n = int(input("Enter a Number: "))
random_nums = [random.randint(33,127) for i in range(n*n)]
matrix = [chr(i) for i in random_nums]
print(matrix, len(matrix))
uj5u.com熱心網友回復:
只需使用random.sample
import random
choices = "".join(chr(i) for i in range(33, 127))
k = 6
print([random.sample(choices, (k**2)%(len(choices)-1)) for i in range(0, k**2, len(choices))][0])
# output : ['d', 'H', 'u', 'g', '2', 'j', 'z', '0', '#', 'x', '4', 'h', '`', '{', 'r', '5', 'V', 'A', '=', '"', 'f', 'n', 'p', ',', 'k', 'o', '*', ' ', '3', 'S', 'U', '_', 's', 'Y', 'y', 'P']
uj5u.com熱心網友回復:
我認為您正在嘗試構建一個 N * N 矩陣。如果是這樣,那么:
from random import choices as CHOICES
CHARS = [chr(i) for i in range(33, 127)]
N = int(input('Input N: '))
matrix = [CHOICES(CHARS, k=N) for _ in range(N)]
print(matrix)
可能的輸出:
[['N', '%', ' ', 'u'], ['_', '8', 'T', '.'], ['8', '1', '=', 'O'], ['8', 'G', 'T', 'I']]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/525180.html
下一篇:R編程-回文
