我需要简化这个数字列表,但它也包括一个特定的字母,我如何简化我的列表
现在我已经做了名单,但我需要一些代码,随机选择一个特定的数字从这个名单
carddeck = ['r01', 'r02', 'r03', 'r04', 'r05', 'r06', 'r07', 'r08', 'r09', 'r10', 'b01', 'b02', 'b03', 'b04', 'b05', 'b06', 'b07', 'b08', 'b09', 'b10', 'y01', 'y02', 'y03', 'y04', 'y05', 'y06', 'y07', 'y08','y09', 'y10']
colours = ['red', 'black', 'yellow']
validOptionsR = ['r01', 'r02', 'r03', 'r04', 'r05', 'r06', 'r07', 'r08', 'r09', 'r10']
validOptionsB = ['b01', 'b02', 'b03', 'b04', 'b05', 'b06', 'b07', 'b08', 'b09', 'b10']
validOptionsY = ['y01', 'y02', 'y03', 'y04', 'y05', 'y06', 'y07', 'y08','y09', 'y10']
我想要一个代码,它不使用完整的列表,而是选择一个从01到10的随机数,并把它放在选定的颜色旁边,例如,一张黑卡将是b09。以下是我的代码:
rndClr = random.choice(colours)
if rndClr.find('black'):
rndClr = 'black'
print('black')
elif rndClr.find('yellow'):
rndClr = 'yellow'
print('yellow')
elif rndClr.find('red'):
rndClr = 'red'
print('red')
else:
print('An Error Has Occurred While Calculating the Card Colour')
def colourPicker():
colourWind = Tk()
colourWind.title('Cards')
colourWind.configure(bg = rndClr)
def playerCardPick():
if rndClr == 'red' :
random.shuffle(validOptionsR)
chosencard = random.choice(validOptionsR)
elif rndClr == 'black' :
random.shuffle(validOptionsB)
chosencard = random.choice(validOptionsB)
else:
random.shuffle(validOptionsY)
chosencard = random.choice(validOptionsY)
print(str(chosencard))
你可以这样做
它取颜色的第一个字母,并将其前置为1到10之间的随机数
另外,if-else-if梯形图可以压缩为
但我不认为rndColor会有任何不在列表中的值。但不确定
相关问题 更多 >
编程相关推荐