2)设置一个控制开关,当启动开关时,从第一盏彩灯开始,依次点亮,时间间隔为1秒。
期间一直保持只有一盏灯亮、其他灯全灭的状态。
3)8盏灯依次亮完后,从第8盏开始依次灭,期间一直保持只有一盏灯灭、其他灯
全亮的状态。
4)当8盏灯依次灭完后,8盏灯同时亮,然后再同时灭,并重复4次。
5)彩灯按上述要求循环显示
如何设计彩灯控制器(不用单片机)
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
梦幻精灵_cq 2024-01-07 19:39关注- 我用列表代表彩灯串,1亮0灭
效果截屏


效果是永久循环。
python代码
def fun2(): ''' 单盏亮 ''' for i in range(n[0]): if i > 0: lights[i-1] = 0 # 如果上一颗灯亮着,熄灭。 lights[i] = 1 # 点亮当前彩灯。 light() # 打印输出彩灯串。 def fun3(): ''' 单盏灭 ''' for i in range(n[0]): # 全部点亮。 lights[i] = 1 light() # 打印输出彩灯串。 for i in range(n[0]): if i > 0: lights[-i] = 1 # 点亮后一颗灯灭。 lights[-1-i] = 0 # 熄灭当前彩灯。 light() # 打印输出彩灯串。 def fun4(): ''' 同亮同灭 ''' for i in range(n[0]): # 全部点亮。 lights[i] = 1 light() # 打印输出彩灯串。 for i in range(n[0]): # 全部熄灭。 lights[i] = 0 light() # 打印输出彩灯串。 def light(): ''' 打印输出彩灯串 ''' print(' '*7, lights, end='\r') # 打印输出彩灯串。 sleep(1) # 暂停1秒。 def switch(): ''' 彩灯控制开关 ''' fun2() # 单盏亮。 fun3() # 单盏灭。 for i in range(4): # 重复4次。 fun4() # 同亮同灭。 switch() # 调用自己实现“死”循环。 if __name__ == '__main__': from time import sleep n = [8] # 彩灯串彩灯盏数。 lights = [0 for i in range(n[0])] # 彩灯串。 print(f"\n\n{' 模拟彩灯控制 ':=^34}\n\n") switch() # 调用函数模拟彩灯控制。
解决 无用评论 打赏 举报 编辑记录- 我用列表代表彩灯串,1亮0灭