请帮助我生成宾果游戏。我正在使用eclipse" pydev"翻译。到现在为止,我已经做了很多工作。但我无法以某种方式生成矩阵,1-15之间的5个随机数应该在第1"列中#34;并且不在" ROW",类似的数字在第二列中16-30之间,第三列中31-45,第四列中46-60,最后在第五列中61-75之间。所以,基本上它变成5 * 5矩阵。我的代码生成随机数,但不是矩阵形式,我想要。
import random
c1 = random.sample(range(1,15),5)
c2 = random.sample(range(16,30),5)
c3 = random.sample(range(31,45),5)
c4 = random.sample(range(46,60),5)
c5 = random.sample(range(61,75),5)
matrix = [c1, c2, c3, c4, c5] # why the ',' at the end of this line???
print(matrix)
for i in range(len(matrix)):
for j in range(len(matrix[i])):
print("%s "%(matrix[i][j], ) )
break
print()
for j in range(len(matrix[i])):
for i in range(len(matrix)):
print("%s "%(matrix[i][j],) )
print()
答案 0 :(得分:0)
首先,要获得1到15的范围,需要使用range(1, 16)
,第二个参数名为 stop ,从不包含在列表中。请参阅文档中的range function。
要回答您的问题,您可以使用zip
功能将第一个列表放在第一列而不是第一行。请参阅文档中的zip function。
matrix = zip(c1, c2, c3, c4, c5)
最后,您应该学习更多关于Python语法的知识。它真的可以帮到你。它的设计很简单。它是一种非常漂亮的语言,易于阅读和易于使用。你几乎可以阅读每一行,就像它是英语一样。这是你的循环重写:
for row in matrix:
for item in row:
print(item, end=" ")
# Note the "end" argument, which replaces the newline by a space
print() # Newline at the end of the loop