用python制作流水灯

今天在网上搜索到了一个好玩的小玩意,python制作流水灯,就搬过来,原地址我忘掉在哪了,有意思就是在命令行会有类似进度条等等,直接附上代码,效果图暂时不放了,有兴趣自己调试,同时感谢无名的原作者。

import time
import sys

def Water_light(mod = 1, FRESH_TIME = 0.3, LENGTH = 7):
    if mod == 1:
        print("Flowing light:")
        while mod == 1:
            for i in range(LENGTH):
                bar = ['['] + [' '] * LENGTH + [']']
                bar[i + 1] = '*'
                bar_show = ''.join(bar)
                print('\r{}'.format(bar_show), end='')
                time.sleep(FRESH_TIME)
    elif mod == 2:
        print("Accumulated flowing light:")
        while mod == 2:
            for j in range(LENGTH):
                for i in range(LENGTH - j):
                    bar = ['['] + [' '] * (LENGTH - j) + ['*'] * j + [']']
                    bar[i + 1] = '*'
                    bar_show = ''.join(bar)
                    print('\r{}'.format(bar_show), end='')
                    time.sleep(FRESH_TIME)
            time.sleep(FRESH_TIME)
    elif mod == 3:
        print("Round flowing light:")
        while mod == 3:
            for j in range(2):
                for i in range(LENGTH):
                    bar = ['['] + [' '] * LENGTH + [']']
                    if j == 0:
                        bar[i + 1] = '*'
                    else:
                        bar[-(i + 2)] = '*'
                    bar_show = ''.join(bar)
                    print('\r{}'.format(bar_show), end='')
                    time.sleep(FRESH_TIME)
    elif mod == 4:
        print("Flowing word light:")
        word = "I LOVE U"
        while mod == 4:
            bar = ['['] + ['*'] * len(word) + [']']
            bar_show = ''.join(bar)
            print('\r{}'.format(bar_show), end='')
            time.sleep(FRESH_TIME)
            for i in range(len(word)):
                bar[i + 1] = word[i]
                bar_show = ''.join(bar)
                print('\r{}'.format(bar_show), end='')
                time.sleep(FRESH_TIME)
    elif mod == 5:
        print("Process bar:")
        while mod == 5:
            for i in range(LENGTH):
                bar = ['['] + [' '] * LENGTH + [']']
                for j in range(i + 1):
                    bar[j + 1] = '*'
                bar_show = ''.join(bar)
                print('\r{}'.format(bar_show), end='')
                time.sleep(FRESH_TIME)

if __name__ == '__main__':
    print("number1: Flowing light\nnumber2: Accumulated flowing light\nnumber3: Round flowing light\nnumber4: Flowing word light\nnumber5: Process bar.")
    mod_num = input("please input the number of mod to choose what effect do you want: ")
    Water_light(mod = int(mod_num))
发布了12 篇原创文章 · 获赞 38 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/Exploer_TRY/article/details/86564252