2401_82488405 2024-01-07 16:46 采纳率: 0%
浏览 8

如何设计彩灯控制器(不用单片机)

2)设置一个控制开关,当启动开关时,从第一盏彩灯开始,依次点亮,时间间隔为1秒。
期间一直保持只有一盏灯亮、其他灯全灭的状态。
3)8盏灯依次亮完后,从第8盏开始依次灭,期间一直保持只有一盏灯灭、其他灯
全亮的状态。
4)当8盏灯依次灭完后,8盏灯同时亮,然后再同时灭,并重复4次。
5)彩灯按上述要求循环显示

  • 写回答

1条回答 默认 最新

  • 梦幻精灵_cq 2024-01-07 19:39
    关注
    • 我用列表代表彩灯串,1亮0灭

      效果截屏

      img


      img


      img


      效果是永久循环。

    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月7日

悬赏问题

  • ¥15 TeleScan不能修改bar
  • ¥100 请问我基于逐飞库写的这个有关于mp u6050传感器的函数,为什么输出的值是固定的?
  • ¥15 hadoop中启动hive报错如下怎么解决
  • ¥15 如何优化QWebEngineView 加载url的速度
  • ¥15 关于#hadoop#的问题,请各位专家解答!
  • ¥15 如何批量抓取网站信息
  • ¥15 Spring Boot离线人脸识别
  • ¥15 使用Ant Design Pro vue的时候,使用环境变量的时候,构建报错是什么原因
  • ¥15 NRF24L01能发送但是不能接收
  • ¥15 想问一下这种情况怎么解决呢(关键词-file)