import random
string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
for x in range(16):
a = print(random.choice(string))
如何在python中以4 * 4矩阵的形式打印这些随机生成的字母?
答案 0 :(得分:1)
您可以像这样在4行中打印4个字母:
import random
string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
for x in range(4):
print(''.join([random.choice(string) for _ in range(4)]))
输出
YTPB
CHQF
UNLC
BOMS
您还可以将矩阵表示为列表列表:
import random
string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
matrix = [[random.choice(string) for _ in range(4)] for _ in range(4)]
print(matrix)
输出
[['U', 'Z', 'L', 'L'], ['R', 'G', 'O', 'M'], ['W', 'X', 'U', 'I'], ['C', 'Q', 'O', 'W']]
答案 1 :(得分:0)
如果要确保字母没有重复,可以将字母随机播放,然后从列表中弹出:
import random
letters = list("ABCDEFGHIJKLMNOPQRSTUVWXYZ")
random.shuffle(letters)
for row in range(4):
for col in range(4):
print(letters.pop(), end=' ')
print()
答案 2 :(得分:0)
import numpy as np
string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
matrix = np.random.choice(list(string),replace=False,size=(4,4))
print(matrix)
replace=False
没有重复,replace=True
具有潜在的重复。
如果打印np.random.choice的输出而没有先将其分配给变量名,则可以减少到三行。
您也可以以可读性为代价减少到两行,如下所示:
import numpy as np
print(np.random.choice(list("ABCDEFGHIJKLMNOPQRSTUVWXYZ"),replace=False,size=(4,4)))