如何统计变量被使用的次数 |蟒蛇

问题描述 投票:0回答:1

程序会询问世界大小,然后根据世界大小随机生成一个网格(第一个块)。对于第一个选举块,我希望它是随机的,但随着代码生成更多块,它们就不那么随机了。我的意思是,在第一个块之后,程序将查看第一个块并确定谁可以更改“团队”。然后,在第二个区块之后,下一个区块将查看第二个区块,并再次确定谁可以更换“团队”。等等。

程序将分别查看单个块的每一行,并确定该行中有多少个 G、R 和 B。它会随机选择几个字母来更改该行。 Gs可以变更为任意队伍(不变、变更为B、变更为R),而Rs和B只能变更为B或R。所以,在第一行中,G会被随机分配到一个队伍,但是R,虽然它可以保持不变或更改为 B,但只有当它不是整个块的大多数时,它才能更改。 Bs 和 Rs 只能在整个街区没有该团队的大多数成员的情况下才能更换团队。它会切换到整个区块中占多数的团队,但如果 Bs 和 Rs 在区块中平局,字母会随机选择一个团队。现在,如果整个区块中 G 占多数,那么只有当 G 不占多数时,B 和 R 才能改变。

当程序遍历完一个块中的每一行时,它将创建一个包含更改的新块并重复相同的过程。计划是当整个街区都充满一个团队(R 或 B)时停止该计划。该程序将打印一些内容,显示“团队名称”获胜。

这是我当前的代码:

import random

# varibles
red = 'R'
blue = 'B'
undecided = 'G'
teams= [red,blue,undecided]
world = []

# Determines how big the grid will be
WORLDSIZE = int(input('What is the world size (y x y)?'))


def createWorld():
    for i in range(WORLDSIZE):
        world.append([])
        for j in range(WORLDSIZE):
            voter = random.choice(teams)
            world[i].append(voter)
            

def printWorld():
    print (' ')
    print("Current Election Poll is:")
    for i in range(WORLDSIZE):
        print( world[i] )
    count = red.count(red)
    print ('Current Results')
    print ('Red Voter:' , count)
    print ('Blue Voter:')
    print ('Undecided:')
    print (' ')

Pic of Code with what it runs

我遇到的问题是代码不会读取该块中使用了多少次红色、蓝色或未决定的次数。我只希望它读取一个段,因为当我对其他部分进行编码(以生成更多块)时,我希望它不计算之前的数量。

python python-3.x repeat
1个回答
0
投票

将 team 作为存储 team 和 counter 的字典怎么样?

teams = {
 'R':0,
 'B':0,
 'G':0
}
#use random
voter = random.choice(list(teams.keys()))
world[i].append(voter)
teams[voter]+=1 #counter add one
© www.soinside.com 2019 - 2024. All rights reserved.