def fill2_line1():
x2 = random.choice(list(twoSyllValues.items()))
line1.append(x2)
magicList = ([x[1] for x in line1])
if 1 in magicList:
fill2_line1()
fill2_line1()
complete_line = line1[0][0] + " " + line1[1][0] + " " +
line1[2][0]
print(complete_line)
这是有问题的部分-整个程序超过150行。它的工作原理是完美的,但有时我会得到重复的单词。为了优化代码,我希望确保第一个随机元组选择中的键不会在该列表中的下两个选定元组line1中重复。我能想到的唯一方法是在第一个单词选择之后创建另一个字典,然后从新字典中排除该键、值对,然后进行接下来的两个random.choice调用。我觉得必须有一个更简单的方法,但我只是还没有经验
我可以想出三种方法来解决你面临的问题。我将写一个示例代码,你可以参考,因为我不知道你的全部代码
希望我的回答能给你一些想法
相关问题 更多 >
编程相关推荐