如何将我的掷骰子代码的输出添加到数组?

时间:2017-10-10 10:41:56

标签: python arrays python-3.x

如何将我的掷骰子代码的输出添加到数组my_list? 我希望最终输出看起来像:

1's: {No. Of One's}
2's: {No. Of Two's}
3's: {No. Of Three's}
4's: {No. Of Four's}

显然在打印出游戏输出后 我尝试将数据行的追加添加到底部,然后打印my_list以执行此操作,以便它在之后运行但无法正常工作

我的代码如下所示:

my_list = []
for i in range(1,2):
    def RollDice():
        import random
        d1 = random.randint(1, 6)
        d2 = random.randint(1, 6)
        return int(d1 + d2)


    def ComeOutRoll():
        print('Come-Out Roll')
        roll = RollDice()
        if roll in [7, 11]:
            print('You win!')
        elif roll in [2,3,12]:
            # craps lose
            print('Craps! You lose!')
        elif roll in [4,5,6,8,9,10]:
            # the point
            print('Point %d' % roll)
            Finished = False
            while not Finished: Finished = ReRoll(roll)

    def ReRoll(point):
        roll = RollDice()
        print(' Roll: %d' % (roll))
        if not roll in [7, point]:
            # lose
            print('Roll again!')
        elif roll in [point]:
            # point match
            print('Point-Match')
        elif roll in [7]:
            # seven-out lose
            # game over
            print('Seven-Out!\nYou lose!\nGame Over!')
            return True
        return False

    ComeOutRoll()
    my_list.append(RollDice)
print(my_list)

Output:

Come-Out Roll
You win!
[<function RollDice at 0x000000CAEFAAFAE8>]

1 个答案:

答案 0 :(得分:0)

试试这个

my_list = []
my_num = []
for i in range(1,2):
def RollDice():
    import random
    d1 = random.randint(1, 6)
    d2 = random.randint(1, 6)
    UpdArray(d1)
    UpdArray(d2)
    return int(d1+d2)
def UpdArray(x):
    my_num.append(x)
def ComeOutRoll():
    print('Come-Out Roll')
    roll = RollDice()
    if roll in [7, 11]:
        print('You win!')
    elif roll in [2,3,12]:
        # craps lose
        print('Craps! You lose!')
    elif roll in [4,5,6,8,9,10]:
        # the point
        print('Point %d' % roll)
        Finished = False
        while not Finished: Finished = ReRoll(roll)

def ReRoll(point):
    roll = RollDice()
    print(' Roll: %d' % (roll))
    if not roll in [7, point]:
        # lose
        print('Roll again!')
    elif roll in [point]:
        # point match
        print('Point-Match')
    elif roll in [7]:
        # seven-out lose
        # game over
        print('Seven-Out!\nYou lose!\nGame Over!')
        return True
    return False

ComeOutRoll()
my_list.append(RollDice())
print(my_list)
print("req. ", my_num)

for x in set(my_num):
    print(x,"'s", my_num.count(x), "\n" )

示例输出:

Come-Out Roll
Point 10
Roll: 7
Seven-Out!
You lose!
Game Over!
[9]
req. [4, 6, 6, 1, 3, 6]
1 's 1
3 's 1
4 's 1
6 's 3