当前位置: 首页 > news >正文

前一篇文章最后一个算法校正

前一篇文章最后一个算法的实现有一点问题,问题原因来自python中list删除数据会导致数据前移,针对这个特性目前没有一个很好的解决方案,所以在这里使用另外一个角度去实现,即将报到9的人编号置为0,在下次喊的时候,让为0的结果直接pass即可。里边还有一个设置状态量让while循环退出的思想。

#从30个人中选择15个,所有人围成一圈数1-9的数,喊到9的人出列即可
#让每个人报数,按照1-9对每次报数的人进行记录,将报到9的人剔除即可(在这里其实也是用基础的排序,即30人的编号作为起始的编号,主要信息:初始化编号和每个人所报数字,且每报到9后需要重新从1开始报数)
import sys
def nine_retire():origin_num = [i for i in range(1,31)]temp_list = []s = 1while_state = 1#逻辑本身还是有问题,应该是每删除一次,就行判断一次,否则会有隐患存在# while len(temp_list) <= 15:while True:if while_state == 0:breakelse:for j in origin_num:if len(temp_list) == 15:while_state = 0breakelse:if s == 9 and j != 0:temp_list.append(j)origin_num[origin_num.index(j)] = 0s = 1elif j == 0:passelse:s += 1print(temp_list)print(len(temp_list))print([i for i in origin_num if i != 0])if __name__ == '__main__':nine_retire()
http://www.lryc.cn/news/67360.html

相关文章:

  • 测试外包干了4年,我废了...
  • CPU组成元素:运算器+控制器
  • 计算机网络——主机IP地址、子网掩码、广播地址、网络数、主机数计算方法
  • Unity 后处理(Post-Processing) -- (1)概览
  • Ajax + axios + 常用状态码(笔记)
  • python运算符
  • Python 列表(List)
  • Java设计模式-装饰模式
  • 桐乡学历提升-学历到底有什么用呢?
  • 15天学习MySQL计划(运维篇)分库分表-监控-第十四天
  • Melis4.0[D1s]:8.显示测试:图片格式和透明度
  • 【论文阅读】Pseudo-Labeling and Confirmation Bias in Deep Semi-Supervised Learning
  • 三次输错密码后,系统是怎么做到不让我继续尝试的?
  • 医学影像系统源码,三维后处理和重建 PACS源码
  • golang汇编之函数(四)
  • 成都爱尔李晓峰主任:眼睛干到发出求救信号,快注意!
  • HiEV独家 | 比亚迪高阶智驾终于来了 ,新款汉首发,多车型将搭载
  • 全面解析Linux指令和权限管理
  • C++ enum 和enum class
  • 设计模式之中介者模式
  • DJ5-8 磁盘存储器的性能和调度
  • springboot+vue留守儿童爱心网站(源码+文档)
  • 数字设计小思 - 谈谈非理想时钟的时钟偏差
  • 智慧厕所引导系统的应用
  • 眼球追踪、HDR、VST,从代码挖掘Valve下一代VR头显
  • 【MYSQL】聚合函数和单表/多表查询练习、子查询、内外连接
  • 分布式数据库集成解决方案
  • 如何配置静态路由?这个实例详解交换机的静态路由配置
  • OpenCV教程——图像操作。读写像素值,与/或/非/异或操作,ROI
  • Winforms不可见组件开发