0

所以我正在创建一个基于文本的 Murder Mystery Game for Learn Python the Hard Way……所以这可能真的很简单,但我想不通。

本质上我是在选择线索的位置,有 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
4

1 回答 1

0

这是我根据您的回答得出的结论

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()
于 2018-10-27T20:08:40.407 回答