我想知道我正在Tkinter中工作的自定义D&D字符随机器。
整个想法是使用tkinter复选框来选择你想要和不想要的职业和种族!
然而,我遇到了一个小问题:
有13个班级,21个比赛。我想出的使复选框被选中的方法是让选中的复选框将选中的类/种族附加到列表中,然后从列表中随机选择!
if barbarianVar.get() == 1:
classes.append('Barbarian')
然而,有13个类和21个比赛,所以我想知道我是否可以使用循环,如果是这样,我将如何去做
谢谢你的任何和所有的信息!
您将能够使用random
这样做。使用random.choice(array)
,我们可以从数组中获得一个随机元素。
假设barbarianVar.get()
正在检查是否选中了野蛮人复选框,下面应该工作:
import random
classes = []
if barbarianVar.get() == 1:
classes.append('Barbarian')
if wizardVar.get() == 1:
classes.append('Wizard')
if paladinVar.get() == 1:
classes.append('Paladin')
print("I have randomly generated " + random.choice(classes) + " as your class")
现在,如果我们希望将for循环合并到这里,我们可以这样做,如果我们有一个包含每个类的数组和另一个包含每个类名的数组:
import random
class_variable = [barbarianVar, wizardVar, paladinVar]
class_name = ["Barbarian", "Wizard", "Paladin"]
class_possible = []
for i in range(len(class_variable)):
if (class_variable[i].get() == 1):
class_possible.append(class_name[i])
print("I have randomly generated " + random.choice(class_possible) + " as your class")
为每个类重复if语句,并为竞争重用相同的逻辑。