我们先让字符动起来,这段代码能让字符按一定的时间输入
1 # coding: utf-8 2 3 import time 4 5 txt = u"欢迎来到万象更新的中国!" 6 7 for i in txt: 8 print i, # 加逗号表示横向打印 9 time.sleep(0.5) # 设置时间为0.5秒
不过,有个问题,print语句加了逗号之后,逗号会占用一个空格。显得很不好看。
---------------------------------------------------------------------------------------------------------------------
下面是去掉空格的改进版
1 # coding: utf-8 2 3 import sys 4 import time 5 6 txt = u"欢迎来到万象更新的中国!" 7 8 for i in txt: 9 sys.stdout.write(i) 10 time.sleep(0.1) # 设置时间为0.1s 11 print
其实会自动换行的print " ", 相当于sys.stdout.write(" " + "\n"), 所以少了换行符"\n",
sys.stdout.write(" ")就不会自动换行
——2016/11/28
---------------------------------------------------------------------------------------------------------------------
要让下面的图像动起来,只需要在各个函数的for循环末尾加止
time.sleep(0.2)【先import time】
1. 打印旗子
1 # coding: utf-8 2 3 # 打印三角形 4 def triangle(): 5 for i in range(1, 6): 6 print " " * 16 + " * " * i 7 8 # 打印旗杆 9 def stick(): 10 for i in range(1, 4): 11 print " " * 16 + " *" 12 13 triangle() 14 stick()
2. 打印十字架
1 # coding: utf-8 2 3 # 打印顶部 4 def top(): 5 for i in range(1, 5): 6 print " " * 16 + "*" * 4 7 8 # 打印中间部分 9 def middle(): 10 for i in range(1, 4): 11 print " " * 8 + "*" * 20 12 13 # 打印底部 14 def bottom(): 15 for i in range(1, 5): 16 print " " * 16 + "*" * 4 17 18 top() 19 middle() 20 bottom()
3. 打印小狗
1 # coding: utf-8 2 3 # 打印耳朵 4 def ear(): 5 for i in range(1, 3): 6 print " " * 16, # 每行空出16格 7 print " " * 14 + " *" * i 8 9 # 打印头部 10 def head(): 11 for i in range(1, 4): 12 print " " * 16, 13 print "*" * i + " " * (14 - i) + " *" * 6 14 15 # 打印身体 16 def body(): 17 for i in range(1, 3): 18 print " " * 16, 19 print "* " * 8 20 21 # 打印脚 22 def leg(): 23 for i in range(1, 4): 24 print " " * 16, 25 print "*" * i + " " * 8 + " *" * 3 26 27 ear() 28 head() 29 body() 30 leg()
4. 打印金字塔
1 # coding: utf-8 2 3 # pymaid: 金字塔 4 def pymaid(num): 5 6 for i in range(1, num + 1): 7 # 第一行的行头空白等于总行数-1, 后面每行依次减1 8 print " " * (num - i) + "*" * (1 + (i - 1) * 2) 9 10 pymaid(5)
输出:
由于for语句本身自带数值i(执行次数),而且还是递增的,所以我们就不用再另设变量去增加空格数和星号数。
当然,你也可以让它不要左对齐
1 # coding: utf-8 2 3 def pymaid(num): 4 5 for i in range(1, num + 1): 6 print " " * 16, # print + 逗号会多占用一个空格 7 print " " * (num - i) + "*" * (1 + (i - 1) * 2) 8 9 pymaid(5)
相对居中的方式:
让星号之间带上空格的形式
--------------------------------------------------------------------------------------------------------------------------------
1 # coding: utf-8 2 3 def pymaid(num): 4 5 for i in range(1, num + 1): 6 print " " * 16, 7 print " " * 2 * (num -i) + " *" * (1 + 2 * (i - 1)) 8 9 pymaid(5)