今天在网上搜索到了一个好玩的小玩意,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))