0

我想根据我定义的数字创建多个变量。
目前,我有一个客户端和一个服务器正在运行,每次客户端加入时,我都希望服务器创建一个变量。每个用户都分配了一个号码:

list_of_addr = []
user_num = 0
recv_verf, addr = server_socket.recvfrom(2048)
if(recv_verf == 'connect'):
    recv_user, addr = server_socket.recvfrom(2048)
    list_of_addr.append('User:' + recv_user + ' # ' + str(user_num) + '\n')
    user_num = user_num + 1
    print 'User:' + recv_user + ' # ' + str(user_num) + ' connected'

我想根据这个数字在这里创建一个变量。类似于 user_(user_num) = 0。
我不知道该怎么解释。对不起,这是模糊的。

4

2 回答 2

9

不要这样做。如果您希望有一组由名称指向的动态项目,这就是 adict的用途。如果您只想按特定顺序列出项目,这就是 alist的用途。

变量名称应保留为程序员在代码中实际编写的内容。另一条路是疯狂。

于 2012-12-24T20:00:19.583 回答
0

dict 将是一个合适的解决方案:

list_of_addr = []
user_num = 0
recv_verf, addr = server_socket.recvfrom(2048)
if(recv_verf == 'connect'):
    recv_user, addr = server_socket.recvfrom(2048)
    list_of_addr.append(dict(user=recv_user, number=user_num))
    user_num = user_num + 1
    print 'User: {0} # {1} connected'.format(list_of_addr[-1]['user'], list_of_addr[-1]['number']
于 2012-12-24T20:07:49.650 回答