打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
面试题-python3 100个人围一圈编号1-100,依次开始报数报到3的退出

python测开笔试题

100个人围一圈编号1-100,依次开始报数,
从1开始,报到3的退出,然后继续从1开始,报到3退出,直到最后只有2个人,得到编号 58, 91
从1开始,报到4的退出,然后继续从1开始,报到4退出,直到最后只有3个人,得到编号 34, 45, 97

实现效果:
输入:3
输出:58,91
输入:4
输出:34, 45, 97

python3代码

解决思路,先把1-100编号,前面的99个单独取出来(能数到1-3),最后一个100,由于只有一个了,先单独拿出来
下一步前99个,数到3的移除,得到一个新的列表编号
把100和新的列表编号拼接到一块,这样可以进行下一轮的报数

n = 3 # 报的数
a = list(range(1, 101)) # 编号1-100
# 取出最后的余数
end_a = a[len(a)//n*n:] # 多余的
start_a = a[:len(a)//n*n]
# print(start_a)
# print(end_a)
i = n
while i <= len(start_a):
# 每隔3移除掉
start_a.remove(start_a[i-1])
i = (i-1) + n
# 多余的数拼接到前面,等下次继续
new_a = end_a+start_a
# 第一轮移除后得到新的列表
print(new_a)
# 得到新的列表:[100, 1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17,
19, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 35, 37, 38, 40, 41,
43, 44, 46, 47, 49, 50, 52, 53, 55, 56, 58, 59, 61, 62, 64, 65,
67, 68, 70, 71, 73, 74, 76, 77, 79, 80, 82, 83, 85, 86,
88, 89, 91, 92, 94, 95, 97, 98]

得到新的列表后,继续重复上面的操作,于是可以写个递归函数,直到列表数小于3为止

# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/

def remove_n(a, n=3):
if len(a) < n:
return sorted(a)
# a = list(range(1, 101))
# 取出最后的余数
end_a = a[len(a)//n*n:]
start_a = a[:len(a)//n*n]
# print(start_a)
# print(end_a)
i = n
while i <= len(start_a):
start_a.remove(start_a[i-1])
i = (i-1) + n
new_a = end_a+start_a
# print(new_a)
return remove_n(new_a, n)

if __name__ == '__main__':
a = list(range(1, 101))
n1 = input()
result1 = remove_n(a, int(n1))
print(result1)
n2 = input()
result2 = remove_n(a, int(n2))
print(result2)

实现效果:

3
[58, 91]
4
[34, 45, 97]

面试题-python3 英文单词全部都是以首字母大写,逐个反转每个单词

面试题-python3 查找字符串数组中的最长公共前缀

面试题-python3 字符串消消乐,将字符串中相邻相同的字符一起消掉

面试题-python3 连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组

面试题-python3 实现删除字符串中出现次数最少的字符

面试题-python3 找出一个字符串中所有子串是回文的次数

面试题-python3 找出列表中出现的所有连续数字

面试题-python3 找出一个字符串中子串,不含有重复字符的最长子串

python 面试题-收集100+面试题笔试题

2021年第七期《python接口自动化+测试开发》课程,4月18号开学(火热报名中!)

4月18号-7月11号,20:30-22:30

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python|除去报三的人
Python基础知识点总结
Python高级用法:索引与切片
python3 根据元素名删除列表元素
Python中删除列表重复元素的方法有哪些?
python 怎么把set转成list
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服