某大厂测开面试题解析(python)——给1-100编号,每次从中拿走奇数位数字,剩下重新编号,再拿走奇数位,循环多次到最后剩下一个数字,请返回这个数字的原始编号

转载请注明作者和出处:美二 https://blog.csdn.net/qq_32654897/article/details/88579713

一、题目要求

  • 给1-100编号,每次从中拿走奇数位数字,剩下重新编号,再拿走奇数位,循环多次到最后剩下一个数字,请你返回这个数字的原始编号

二、剖析题目

  • 【给1-100编号】——首先要创建一个集合来放置这些数字(list)
  • 【每次都拿走奇数位数字】——说明1.需要循环多次,2.需要通过下标来确定拿走的是哪个数字
  • 【剩下重新编号】——也就是说原来的编号顺序会打乱,如果我们在原有的列表里删除不符合条件的,下标则无法确认,因此我们在开始时新建一个列表,将符合条件的append到新列表(new_list)

三、解题思路

  1. 创建一个list放置1-100 (通过for循环来将数据挨个append到list)
  2. 写一个函数odd_number(将下标为偶数的数字append到new_list并返回)
  3. 写一个循环不断调用odd_number函数,直到列表内只剩一个数字(len(list)==1),然后输出list即可

四、代码展示

def odd_number(
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值