**
如何用Jupyter解决约瑟夫环文问题
**首先要打开界面,给数值定义一个名字,这里取我们把数值取名为list1并给list1赋值,输入list1 = range(1,41)表示从1排到41,随后再输入list1 = 【i for i in range(1,42)】表示把list1中的数值排列好,注意在list1和等号以及等号和后面的内容都打上空格这样可以使代码更加清楚,随后再次输入list1点击Run运行代码。
在上一步的命令都执行过以后输入以下代码:1.list1.remove(list1[2])表示移除list1中的第三位,注意list1和remove之间要加英文的点号。
2.list1.append(list1[0])表示在列表的末尾添加第一个数,如第一遍执行时在末尾处添加的就是数字1。
3.list1.append(list1[1])表示在列表的末尾添加在执行命令二后的数列的第一个数,如第一遍执行时时在末尾处添加的就是数字2,由于这个命令是一项一项来执行的也就是先执行上一个命令再执行下一个命令所以不能连续输入,注意可以使用Tab键来帮助输入一些函数加快打代码的速度。
3.list1.remove(list1[0])因为游戏规则第三个人被杀死,所以第一个和第二个是幸存的所以要把第一个和第二个人重新编入到队伍里继续游戏,这个操作即表示把去掉的数在重新加到最后。一直重复第二个步骤直到list1中只剩下最后两个数为止,即代表最后存活下来的人。jiang
**
Demo
filename = ‘demo.py’
with open(filename, ‘r’, encoding=‘UTF-8’) as fp:
lines = fp.readlines()
maxLength = len(max(lines, key=len))
lines = [line.rstrip().ljust(maxLength)+’#’+str(index)+’\n’
for index, line in enumerate(lines)]
with open(filename[:-3]+’_new.py’, ‘w’) as fp: fp.writelines(lines)
**