检查随机选择的字典值,如果匹配,则重新启动

2024-09-28 22:33:57 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我正在创建一个基于文本的谋杀谜题游戏,用于以艰苦的方式学习Python。。。这可能很简单,但我想不出来

基本上我是在选择线索的位置,有16个选项,4个大位置,每个大位置中有4个子位置。但是我不希望任何线索与另一条线索位于同一位置

目前,我让它为每个项目和后续位置创建一个字典,但它有时会选择相同的位置。我很乐意帮忙,谢谢

def determine_items():
    items_needed = {}
    items = ["weapon", "Clue #1", "Clue #2", "Evidence"]
    print(items_needed)
    for i in items:
        hidden_sub = [0.1,0.2,0.3,0.4]
        hidden_super = [1,2,3,4]
        selected_super = random.choice(hidden_super)
        Selected_sub = random.choice(hidden_sub)
        exact =  selected_super + Selected_sub
        if exact == items_needed.values():
             items_needed.clear()
             determine_items()
        else:
            print("No Duplicates?")
        items_needed[i] = exact

Tags: 文本itemsrandomhiddenexactprintselectedsuper
1条回答
网友
1楼 · 发布于 2024-09-28 22:33:57

这就是我根据你的答案得出的结论

import random
def determine_items():
    items_needed = {}
    items = ["weapon", "Clue #1", "Clue #2", "Evidence"]
    possible_locations = [1.1,1.2,1.3,1.4,2.1,2.2,2.3,2.4,3.1,3.2,3.3,3.4,4.1,4.2,4.3,4.4]
    for i in items:
        exact = random.choice(possible_locations)
        possible_locations.remove(exact)
        items_needed[i] = exact
    print(items_needed)

determine_items()

相关问题 更多 >