@Guozhongzhi
2016-09-25T16:14:11.000000Z
字数 1461
阅读 909
本次作业用Python编程,在屏幕上显示动态的字符,包括两个题目:
Level_1 在屏幕上让自己的英文名字水平移动起来;
Level_2 在80*80点阵上用字符拼出想画的东西,并让它旋转起来。
通过练习,对Python的语法进行学习和掌握,以期能熟练地进行科学计算,这是计算物理课程的基本要求,本次作业亦是处于此目的。
第三次作业
在课程主页上复习这两次课程的内容,初步掌握python和matplotlib的语法规则,为接下来的课程做好准备
作业L1 在屏幕上让你的英文名字水平移动起来
提示:可以使用如下语句把屏幕清理干净
import os
i = os.system('cls')
字符移动可以用在每行前面增加空格的方法实现
print(" ###")
print(" # ")
print(" # ")
print(" # ")
print(" ###")
作业L2 在80*80点阵上用字符拼出你想画的东西,并让它旋转起来,希望脑洞大开!(比如字符、火柴人、火箭等等)
提示:字符串变成列表
a = "test"
l = list(a)
列表变成字符串
a = "".join(l)
当然有更多的方法解决这个问题,除了画的东西,方法上也希望各位能脑洞大开!
用Python进行程序编写,代码如下:
Level_1:
import os
import time
i=os.system('cls')
l0 = " # # # # # # # # # # # # # # # # #"
l1 = "# # # # #"
l2 = "# ### # # # # # # # # # # # # # # # # # # #"
l3 = "# # # # # # # # # # # # # # # # # # #"
l4 = " # # # # # # # # # # # # # # # # # # # # # # # # # # # # #"
l5 = " #"
l6 = " # #"
L = [l0, l1, l2, l3, l4, l5, l6, ]
b = 0
while b < 10:
b = b + 1
for i in L:
print ' ' * b + i
time.sleep(0.5)
i=os.system('cls')
Level_2:
#The code of Exercise_03_L2
import os,time
n = 0
while n in range(100):
print(' * ')
print(' * ')
print(' * ')
print(' * ')
print('* * * * * * * * * ')
print(' * ')
print(' * ')
print(' * ')
print(' * ')
time.sleep(0.05)
i=os.system('cls')
i
print(' * * ')
print(' * * ')
print(' * * ')
print(' * * ')
print(' * ')
print(' * * ')
print(' * * ')
print(' * * ')
print(' * * ')
time.sleep(0.05)
i=os.system('cls')
i
n = n + 1
运行代码,得到如下结果:
Level_1:
Level_2:
从运行结果来看,基本实现了题目要求,第一题中的名字运动的实现,基于一个循环语句进行print函数的重复打印,利用os模块中的time.sleep()函数实现时间的保留,让print函数输出的内容在屏幕上暂留一段时间,让观察者可以分辨出来,从而达到视觉上字符的不停运动。第二题中亦是此理,实现了一个“+”的旋转。总的来说,两题的代码都较为简单易懂,更为复杂的代码及其功能需要在以后的学习中进一步加强学习。
笔者编程水平实在有限,在编写代码的过程中参考了王子华同学、罗佳佳同学以及张哲先同学的代码,得到很多启发,十分感激,笔者在此一并致谢。