2020春季学期第八周学习总结

本周学习了python编程的一些常见算法编程实现,总结如下:

1、蒙特·卡罗法计算圆周率

 1 import random
 2 print("掷飞镖次数:")
 3 number = int(input())
 4 k = 0
 5 for i in range(1, number + 1):
 6     x = random.uniform(-1, 1)  # x随机取到-1到1的随机数
 7     y = random.uniform(-1, 1)  # Y随机取到-1到1的随机数
 8     if (x * x + y * y <= 1):
 9         k += 1
10 print("输出值为:")
11 print(k / number * 4)

运行结果:

2、模拟页面调度LRU算法

 1 def LRU(Pages, Num, n):
 2     temp = []
 3     t= 0
 4     for p in lst:
 5         num = len(temp)
 6         if num < n:
 7             t += 1
 8             temp.append(p)
 9         elif num == n:  # 要访问的新页面已在主存块中
10             if p in temp:  # 处理“主存块”,把最新访问的页面交换到列表尾部
11                 pos = temp.index(p)
12                 temp = temp[:pos] + temp[pos + 1:] + [p]
13             else:  # 把最早访问的页面踢掉,调入新页面
14                 temp.pop(0)
15                 temp.append(p)
16                 t+= 1
17     return t
18 n = int(input())
19 lst = tuple(input().split(" "))
20 print(LRU(lst, 3, n))

运行结果:

3、杨辉三角形

 1 def yang(i, j):  # i为行,j为列
 2     if j == 0 or j == i:
 3         return 1
 4     else:
 5         return yang(i - 1, j) + yang(i - 1, j - 1)
 6
 7 a=int(input())
 8 for i in range(0, a):
 9     print()
10     for n in range(0, a - i):
11         print(" ", end="")  # 控制每一行前面的空格
12     for j in range(0, i + 1):
13         print(yang(i, j), "", end="")

运行结果:

4、查找鞍点

 1 list1=[]
 2 list_max=[]
 3 list_min=[]
 4 for i in range(5):
 5     list=input().split()
 6     list_int=[int(x) for x in list]
 7     list1.append(list_int )
 8     k=0
 9     for j in list_int:
10         if j==max(list_int):
11             break
12         k=k+1
13     list_max.append([i+1,k+1, max(list_int)])
14 #print(list_max)
15 list2=[[list1[j][i] for j in range(5)] for i  in range(5)]
16 i=0
17 for l in list2:
18     i=i+1
19     k = 0
20     for j in l  :
21         if j == min(l):
22             break
23         k = k + 1
24     list_min.append([ k + 1,i, min(l)])
25 #print(list_min)
26
27 for i in list_max:
28     for j in list_min:
29         if str(i)==str(j):
30             print(i,end=" ")

运行结果:

5、牛顿迭代法

 1 def iteration(a, b, c, d, X):
 2     x = X
 3     if a == 0 and c ** 2 - 4 * b * d < 0:
 4         print("无解")
 5     elif a == 0 and b == 0 and c == 0 and d != 0:
 6         print("无解")
 7     elif a == 0 and b == 0 and c == 0 and d == 0:
 8         print("恒等")
 9     else:
10         while abs(a * x * x * x + b * x * x + c * x + d) > 0.000001:
11             x = x - (a * x * x * x + b * x * x + c * x + d) / (3 * a * x * x + 2 * b * x + c)
12         print("x=%.2f" % x,end=" ")
13 a, b, c, d, x = input().split()
14 iteration(float(a), float(b), float(c), float(d), float(x))

运行结果:

原文地址:https://www.cnblogs.com/lover995/p/12681677.html

时间: 2024-08-29 13:58:47

2020春季学期第八周学习总结的相关文章

2020春季学期第三周学习总结

本此博客对自己第三周主学习进行一些总结,本周主要学习了关于python以及大型数据的一些操作,学习的主要内容基本是关于数据的获取以及对数据进行一些分析.前面的博客已经介绍过对DataX的使用了,本次介绍一下另一种数据分析工具Kettle的使用,以下是自己的实际操作例子: 一.安装 链接: https://pan.baidu.com/s/1fabX8HCiYcHcGZXq-myDKA 提取码: wsxd 安装教程网上搜索即可 安装好后,打开安装的文件,找到spoon这个文件,双击进入kettle的

2019-2020-1学期 20192403 《网络空间安全专业导论》第八周学习总结

2019-2020-1学期 20192403 <网络空间安全专业导论>第八周学习总结 第一章 学习收获 生活中常见的网络空间安全问题:账号密码被盗.信用卡被盗刷 工作中常见的网络空间安全问题 网络设备面临的威胁:路由器是企业内部网络与外界通信的出口,掌握了路由器就掌握了控制内部网络访问外部网络的权利. 操作系统面临的威胁:操作系统本身有漏洞.黑客用非法手段获取操作系统权限. 应用程序面临的威胁 数据安全包括:数据安全.数据存储与备份 网络空间安全技术架构:物理安全.网络安全.系统安全.应用安全

2019-2020-1学期 20192420《网络空间安全专业导论》第八周学习总结

2019-2020-1学期 20192420<网络空间安全导论>第八周学习总结(网络空间安全导论) 学习的收获 在第1章网络空间安全概述的学习过程中,我首先了解到了现实生活中我们所面临的网络安全问题,书中还为我们举出了详细的例子让我们能够更清楚的认识到这个问题.接下来,书中为我们给出了 网络空间安全的含义.产业界所理解的网络空间安全的技术架构.在本章最后,书中也对我国网络空间安全面临的机遇与挑战进行了分析. 在第2章物理安全的学习过程中,我首先了解到了物理安全的详细概念,还对物理位置选择.物理

20172313 2017-2018-2 《程序设计与数据结构》第八周学习总结

20172313 2017-2018-2 <程序设计与数据结构>第八周学习总结 教材学习内容总结 了解了在多态引用时的后绑定的概念. 学习练习如何利用继承方式来实现多态性. 学习练习如何利用接口来实现多态性. 初步学习算法,了解学习了两种对数组中的元素进行排序的方法. 了解学习了两种在一组元素中寻找一个指定的目标元素的方法. 初步学习判断何时使用多态性设计对问题进行解决,并体会利用多态性所带来的好处. 教材学习中的问题和解决过程 问题1:在刚刚开始学习利用接口实现多态性的时候感觉很奇怪,因为在

2017-2018-20172309 《程序设计与数据结构》第八周学习总结

2017-2018-20172309 <程序设计与数据结构>第八周学习总结 一.教材学习内容总结 相信其它很多同学都是以小顶堆来介绍这一章内容,所以我将以大顶堆来介绍这章内容. 1.1 堆的简单介绍: 堆的定义:(大顶堆) 堆实际上是一棵完全二叉树. 堆满足两个性质: 堆的每一个父节点都大于其子节点: 堆的每个左子树和右子树也是一个堆. 堆的分类: 堆分为两类: 最大堆(大顶堆):堆的每个父节点都大于其孩子节点: 最小堆(小顶堆):堆的每个父节点都小于其孩子节点: 例子: 堆的操作: 堆的定义

杨玲 201771010133《面向对象程序设计(java)》第十八周学习总结

 <面向对象程序设计(java)>第十八周学习总结 第一部分:理论知识学习部分 第二部分:实验部分 实验名称:实验十八  总复习 1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: (3) 综合掌握java GUI 程序设计结构: (4) 综合掌握java多线程编程模型: (5) 综合编程练习. 2.实验内容和步骤 任务1:填写课程课后调查问卷,网址:https://www.wjx.cn/jq/33108969.aspx. 任务2:综合编

20145301 《Java程序设计》第八周学习总结

20145301 <Java程序设计>第八周学习总结 教材学习内容总结 第十五章部分 - 通用API 通用API 日志: 日志对信息安全意义重大,审计.取证.入侵检测等都会用到日志信息 Logger java.util.logging包提供了日志功能相关类与接口,使用日志的起点是logger类,Logger类的构造函数标示为protected,不是java.util.logging同包的类不能直接以new创建,必许使用Logger的静态方法:名称空间层级相同的Logger,父Logger组态会

第六七八周学习进度总结

第六七八周学习进度总结   学习时间 新增代码行 博客量(篇) 知识总结 第六周 5h 60 0 对原有知识进行复习,并对小程序编写少量代码 第七周 8h 110 0 巩固学习了Java语言,并做网站练习 第八周 7h 90 1 进行团队作业,进行需求分析,构建WBS

《Linux内核设计与实现》第八周学习总结——第四章 进程调度

<Linux内核设计与实现>第八周学习总结——第四章 进程调度 第4章 进程调度35 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统.只有通过调度程序的合理调度,系统资源才能最大限度地发挥作用,多进程才会有并发行的效果. 调度程序没有太复杂的原理,最大限度地利用处理器时间的原则是只要有可以执行的进程,那么就总会有进程正在执行,但是只要系统中可运行的进程的数目比处理器的个数多,就注定某一给定时刻会有一些进程不