如何解决不要在由列分别创建的表中生成重复的数字
我有一个练习,创建3张bingo卡,然后以十六进制显示数字,其中,已经预先建立了代码结构以按列生成随机数,但是,练习的要求之一是:不能在同一张卡上重复编号。
仅在这种当前结构中,我只能按行做“无重复”方式!如何查看生成的数字并检查表中的相同数字,如果有的话,我将返回生成另一个数字吗?
代码:
import random
import numpy
#--------------------------------------------------------------------------------------------------------------------------------------------------
style.use('seaborn-poster')
contador = 0
TAMANHO = 4
aleatorio = 0
# Determina os parâmetros para a criação da cada cartela
cartela1 = numpy.zeros((TAMANHO,TAMANHO),dtype=int)
cartela2 = numpy.zeros((TAMANHO,dtype=int)
cartela3 = numpy.zeros((TAMANHO,dtype=int)
while True:
print('\nBINGO HEXADECIMAL - MENU:')
print('Opção 1: Criar/Exibir Cartela: ')
print('Opção 2: Sortear/Exibir Pedra')
print('Opção 0: Sair do Programa')
opcao = int(input('Qual a sua Opção: '))
if opcao == 0:
print('TCHAU!!! - BOA SORTE')
break
elif opcao != 1 and opcao != 2:
print('Opcao Incorreta. Escolha de novo.')
elif opcao == 1:
while contador < 3:
if contador == 0:
input('\nDigite seu nome: ')
# Allocates the automatically generated condition numbers (16,159) on all rows in each specified column of the chart 1
cartela1[:,0] = random.sample(range(16,159),TAMANHO)
cartela1[:,1] = random.sample(range(16,2] = random.sample(range(16,TAMANHO)
cartela1[:,3] = random.sample(range(16,TAMANHO)
# Display of numbers generated in hexadecimal format
print([hex(x)[2:] for x in cartela1[:,0]])
print([hex(x)[2:] for x in cartela1[:,1]])
print([hex(x)[2:] for x in cartela1[:,2]])
print([hex(x)[2:] for x in cartela1[:,3]])
elif (contador == 1):
input('\nDigite seu nome: ')
# Allocates the automatically generated condition numbers (16,159) on all rows in each specified column of the chart 2
cartela2[:,TAMANHO)
cartela2[:,TAMANHO)
# Display of numbers generated in hexadecimal format
print([hex(x)[2:] for x in cartela2[:,0]])
print([hex(x)[2:] for x in cartela2[:,1]])
print([hex(x)[2:] for x in cartela2[:,2]])
print([hex(x)[2:] for x in cartela2[:,3]])
else:
input('\nDigite seu nome: ')
# Allocates the automatically generated condition numbers (16,159) on all rows in each specified column of the chart 3
cartela3[:,TAMANHO)
cartela3[:,TAMANHO)
# Display of numbers generated in hexadecimal format
print([hex(x)[2:] for x in cartela3[:,0]])
print([hex(x)[2:] for x in cartela3[:,1]])
print([hex(x)[2:] for x in cartela3[:,2]])
print([hex(x)[2:] for x in cartela3[:,3]])
contador = contador + 1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。