欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 资讯 > 开关灯问题(python)

开关灯问题(python)

2024/10/25 15:36:01 来源:https://blog.csdn.net/2402_86350741/article/details/143233121  浏览:    关键词:开关灯问题(python)


一.法一:

思路:列表的遍历,python中True和False的应用

#法一
N = int(input("请输入灯的个数和轮数,且为一个值"))
a = []
#创建空列表
for _ in range(N):a.append(None)#增添元素
#第一个人把灯都打开,所以我给他列表中都给了1,因为1为真
#到时候打印的时候,会打印1所在的位置
for element in range (0,N):a[element] =True
#j代表的是人数
j =2
#从第二个人开始
while(j<=N):#注意列表的下标是从0开始的#这里的i是从1开始的,也就是访问列表中的第二个元素#因为接下来不论如何第一个灯都是亮的,所以不用再访问列表中的第一个元素了for element in range(1,N):if(element % j ==0):a[element]= not a[element]j+=1
#判断位置
for element in range(1,N):if(a[element]==True):#使print函数不换行输出print(element,end=" ")

二.法二:

找规律

当N=5时,输出的是1,4。

当N=10时,输出的是1,4,9.

当N=20时,输出的时1,4,9,16.

相信大家已经找到规律了,输出的是n的平方

代码如下

N=int(input("请您输入一个N的值"))
i=1
while(i*i<=N):print(i*i,end=" ")i+=1

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com