今天的这道题,还是有一些难度的,我们先来看一下题目。

d73ae65582ed7b3a3c5de05e419b5219.png

小黄人.jpg

有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

看完之后,是不是有种瞬间蒙圈的赶脚?

其实这道题考察的主要是Python当中的一个叫做pop()的函数,而这个函数也是在上一个实例当中使用到过的一个函数,明白了这个函数的用法之后,就能够比较轻松的将这道题目解答出来。

pop()函数的主要作用可以详见下图:

d9c9f019d20f9023986764b4e8facd47.png

image.png

下面我们来看一下代码:

# 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

n = int(input("请输入人数:"))

list = [] # 创建一个空列表

count = 0 #创建一个计数的值

for i in range(1,n+1): #创建一个循环,将列表当中的所有元素都添加进去

list.append(i)

while True: # 如果为真 创建一个条件循环

if len(list) == 1: # 如果列表的长度为1

print(list) # 打印出该列表的数字

break

else: #否则针对其余情况,单独创建一个如下的条件

count += 1 # 记数加1

pop = list[0] #取出列表当中的第一个元素,并赋值给pop

list.pop(0) #移除列表当中的第一个元素

if count == 3: # 如果count的数为3的时候

count = 0 #count归0

continue #并继续

else: # 否则

list.append(pop) #将移除的元素加入到list当中,如此循环往复

print(list) # 最后打印出剩余在list中的元素

我们再来看一下输出的结果:

C:\Python\python.exe "C:/Users/Administrator/Desktop/Python 练习实例100题/Python69.py"

请输入人数:34

[10]

[10]

Process finished with exit code 0

2020年4月1日(愚人节快乐!)

北京市通州区京贸中心

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐