使用eclipse与pydev解释器的宾果游戏

时间:2014-04-02 22:35:42

标签: python

请帮助我生成宾果游戏。我正在使用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()

1 个答案:

答案 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

Learn more about for loops here.