《信息安全导论》第八周学习总结
《信息安全导论》第八周学习总结
课上
在本周的学习中,我了解了各种初级、高级的程序语言,了解到了它们的程序泛式,知道了其分为命令式(面向对象、面向过程)、声明式(函数式、逻辑式)。
了解了编译器、解释器。除此之外,还了解了高级程序语言的一些基本结构,如输入/输出结构、控制结构、嵌套逻辑。
另外,还学习了面向对象语言的功能性:封装、继承、多态。
课下
在本周,老师所布置的作业难度提高了一大截。因此,我并没有完全意义上做完老师的作业。但也因此学习到了许多,也了解到了自己知识还比较浅薄。
四则运算程序
在该作业的完成中,我遇到了极大的困难。首先,在参数传递上,我就云里雾里,上网查了很久,也只是一知半解。
在写代码时,可能是学习python的时日还短,以自己的能力只能实现一部分功能,很多要求都无法实现。
之后,便向同学借了一份代码进行参考和学习。尽管如此,这次艰难的作业还是对我有很大的帮助。
以下是自己写的代码
import sys
import os
def fs():
import random
from fractions import Fraction
fz = random.randint(1,10)
fm = random.randint(1,10)
if fm == 0:
b = fz
else:
b = Fraction(fz,fm)
return b
def szys():
import random
sym = ['+', '-', '*', '÷']
f = random.randint(0, 3)
n1 = fs()
n2 = fs()
if f== 0:
result = n1 + n2
elif f == 1:
n1, n2 = max(n1, n2), min(n1, n2)
result = n1 - n2
elif f== 2:
result = n1 * n2
elif f == 3:
while n2 == 0:
n2 = fs()
result = n1 / n2
print(n1, sym[f], n2, '= ', end='')
return result
sym = ['+', '-', '×', '÷']
n=int(input('输入所需要的题目数量'))
print(n)
result =[]
class ex(object):
def __init__(self, filename="Default.log"):
self.terminal = sys.stdout
self.log = open(filename, "a")
def write(self, message):
self.terminal.write(message)
self.log.write(message)
def flush(self):
pass
path = os.path.abspath(os.path.dirname(__file__))
type = sys.getfilesystemencoding()
sys.stdout = ex('题目和答案.txt')
m=0
while m<=(n-1):
print(m+1,end='、')
result .append(szys())
print(' ')
m=m+1
m=0
print('对应的答案:')
while m<=(n-1):
print(m+1,'、',result [m])
m=m+1
向大佬借鉴学习的代码:Arithmetic-master
俄罗斯方块
在这个作业中,我了解了pygame这个库。了解了俄罗斯方块的运行原理,并着手进行了一次娱乐意味浓厚的改造:将方块的形状作了改动,效果如图
![](https://images.cnblogs.com/cnblogs_com/wzwyoshino/1599173/o_191124151253批注 2019-11-24 231000.png ''图片title'')
在改动的过程中,由于只是初次接触pygame,也出现了一些问题不能得到很好的解决,就是在上无法实现旋转,应该是在代码上有所缺漏,但不知是何处出了问题,在下周的时间里会继续尝试解决。
俄罗斯方块的代码:teris