布尔列表,以确定哪些储物柜处于打开状态;以及如何仅打印打开的储物柜列表?

时间:2018-10-30 00:21:43

标签: python-3.x

*如果有人能以任何方式帮助我,我将不胜感激!我星期五有考试,这将是一个很好的练习!目前未通过我的课程._。 :-( *

如何确定哪些储物柜将打开?

  1. 解决“储物柜难题”。一所学校有100名学生和100个储物柜。开学第一天所有储物柜都关闭。当学生进入时,第一个学生(S1)打开每个储物柜。然后第二个学生(S2)从第二个储物柜(L2)开始,然后关闭所有其他储物柜。学生S3从第三个储物柜(L3)开始,并更改每个第三个储物柜(如果打开,则将其关闭;如果关闭,则将其打开)。学生S4从储物柜L4开始,每隔四个储物柜换一次。学生S5从储物柜L5开始,每隔五个储物柜更换一次,依此类推,直到学生S100更换L100。

这是我的代码:

def locker_puzzle(lst):
    num_lockers = 10
    num_students = 10
    num = 1
    locker_list = [1,2,3,4,5,6,7,8,9,10]
    locker_list = [False or True] * 10
    open_lock = True
    close_lock = False 


    while num**2 < num_lockers:
        for i in range(len(locker_list)):
            locker_list.append(num**2)
            num += 1
        if num % i <= num_lockers:
            num_lockers = open_lock
        return locker_list
        if num % i >= num_lockers:
            num_lockers = close_lock


def main():
    l= [1,2,3,4,5,6,7,8,9,10]
    print(locker_puzzle(l))
main()
  • 储物柜的数量实际上是100个,但是我不知道该怎么做。我知道对于100个储物柜,储物柜1、4、9、16、25、36、49、64、81和100将保持打开状态

0 个答案:

没有答案