每个人都很温暖!请帮助一个没有经验的新手!有这样的节目...
p = int (input ('Введите целое, четное число: '))
player_list = [random.choices(string.ascii_uppercase) for i in range(p)]
class_list = [1, 2, 3, 4]
tmp_var_class = random.choices(class_list)
- 从列表 player_list 我得到一个随机字母;
- 从 temp_class_list 列表中,随机数;
如何连接它们并从接收到的数据中初始化一个变量(只是让我们不打印,我需要一个直接变量作为对象 O_o))),然后使其成为类继承人?以及如何使如果用户输入一个大数字,player_list 中的字母不重复,但其他小写字母连接到它们,例如?
把整件事都扔进字典里是行不通的。Python不允许将未散列的数据放入字典中......据我了解,连接“for”会帮助我,但我不明白以后如何初始化变量......
正如你所写的那样做了一切:
for _ in range(p):
player_list = random.sample(string.ascii_uppercase, p)
class_list = [1, 2, 3, 4]
tmp_var_class = random.choice(class_list)
var_name = ''.join(player_list).capitalize()
globals()[var_name] = tmp_var_class
print ([var_name])
输出打印 = ['Xznqyd']
我 100% 错过了一些非常明显的事情(
我想我明白你的意思。
要创建具有随机生成名称的变量,您可以使用
globals()
或locals()
。这些特殊函数将为您提供一个特殊字典,其中包含全局或局部范围内的所有变量:但事实上,几乎总是动态生成变量名并不是一个好主意。最好创建一个字典并为其添加值。
从你在问题中写的内容来看,你试图这样做,但是
player_list
- 一个列表,你不能将它用作字典键。要从字符列表中获取字符串,您需要使用 string 方法
.join
- 请参阅上面的代码中我如何使用它创建变量var_name
。这个变量已经包含一个完整的字符串,从一个字符列表连接起来,并且可以用作字典键。UPD:要创建多个变量,请执行以下操作: