Coding the Matrix作业Python Lab及提交方法
Coding the Matrix: Linear Algebra through Computer Science Applications
这是一门用python实现矩阵运算的课,第一次作业就感觉对python的提高很大,用到了各种数据类型。
代码如下:
## Task 1
minutes_in_week = 60*24*7 ## Task 2
remainder_without_mod = 2304811-2304811//47*47 ## Task 3
divisible_by_3 = (673+909)/3==0 ## Task 4
x = -9
y = 1/2
statement_val = 2**(y+1/2) if x+10<0 else 2**(y-1/2) ## Task 5
first_five_squares = { x*x for x in {1,2,3,4,5} } ## Task 6
first_five_pows_two = { 2**x for x in {0,1,2,3,4} } ## Task 7: enter in the two new sets
X1 = { 1, 2, 3 }
Y1 = { 4, 11, 17 } ## Task 8: enter in the two new sets
X2 = { 1, 2, 0 }
Y2 = { 4, 8, 16 } ## Task 9
base = 10
digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
three_digits_set = { base**2*x+base*y+z for x in digits for y in digits for z in digits } ## Task 10
S = {1, 2, 3, 4}
T = {3, 4, 5, 6}
S_intersect_T = { x for x in S if x in T } ## Task 11
L_average = sum([20, 10, 15, 75])/len([20, 10, 15, 75]) # average of: [20, 10, 15, 75] ## Task 12
LofL = [[.25, .75, .1], [-1, 0], [4, 4, 4, 4]]
LofL_sum = sum({sum(LofL[x]) for x in range(0,len(LofL))}) # use form: sum([sum(...) ... ]) ## Task 13
cartesian_product = [[x,y] for x in {'A','B','C'} for y in {1,2,3} ] # use form: [ ... {'A','B','C'} ... {1,2,3} ... ] ## Task 14
S = {-4, -2, 1, 2, 5, 0}
zero_sum_list = [ (x,y,z) for x in S for y in S for z in S if x+y+z==0 ] ## Task 15
exclude_zero_list = [ (x,y,z) for x in S for y in S for z in S if (x+y+z==0) and (x or y or z) ] ## Task 16
first_of_tuples_list = [ (x,y,z) for x in S for y in S for z in S if (x+y+z==0) and (x or y or z) ][0] ## Task 17
L1 = [1,1,2] # <-- want len(L1) != len(list(set(L1)))
L2 = [2,1,3] # <-- same len(L2) == len(list(set(L2))) but L2 != list(set(L2)) ## Task 18
odd_num_list_range = { x for x in range(1,100,2)} ## Task 19
L = ['A','B','C','D','E']
range_and_zip = list(zip(list(range(5)),L)) ## Task 20
list_sum_zip = [x+y for (x,y) in zip([10,25,40],[1,15,20])] ## Task 21
dlist = [{'James':'Sean', 'director':'Terence'}, {'James':'Roger', 'director':'Lewis'}, {'James':'Pierce', 'director':'Roger'}]
k = 'James'
value_list = [d[k] for d in dlist] ## Task 22
dlist = [{'Bilbo':'Ian','Frodo':'Elijah'},{'Bilbo':'Martin','Thorin':'Richard'}]
k = 'Bilbo'
value_list_modified_1 = [d[k] if k in d else 'NOT PRESENT' for d in dlist] # <-- Use the same expression here
k = 'Frodo'
value_list_modified_2 = [d[k] if k in d else 'NOT PRESENT' for d in dlist] # <-- as you do here ## Task 23
square_dict = {x:x**2 for x in range(100)} ## Task 24
D = {'red','white','blue'}
identity_dict = {x:x for x in D} ## Task 25
base = 10
digits = set(range(10))
representation_dict = { base**2*x+base*y+z:[x,y,z] for x in digits for y in digits for z in digits} ## Task 26
d = {0:1000.0, 1:1200.50, 2:990}
names = ['Larry', 'Curly', 'Moe']
listdict2dict = { names[x]:y for (x,y) in d.items() } ## Task 27
def nextInts(L): return [ x+1 for x in L ] ## Task 28
def cubes(L): return [ x**3 for x in L ] ## Task 29
def dict2list(dct, keylist): return [ dct[x] for x in keylist ] ## Task 30
def list2dict(L, keylist): return { x:y for (x,y) in zip(keylist,L) }
评分系统有一些bug,如task2不能用括号等,如果出错可以比对一下。
提交方法:
在linux下提交按照说明即可,但在windows下面,就要费好大一番功夫了。
由于submit_python_lab.py里面默认待提交的py文件在当前目录下,必须把py文件和submit_python_lab.py文件拷贝到python3的安装文件夹下面。我用的是python3.3,因此要拷贝到的目录为:C:\Python33。论坛说双击submit_python_lab.py输入账号密码即可,为了方便我使用bat脚本文件运行:
C:\Python33\python C:\Python33\submit_python_lab.py
Coding the Matrix作业Python Lab及提交方法的更多相关文章
- Coding the Matrix Week 1 The Vector Space作业
Coding the Matrix: Linear Algebra through Computer Science Applications 本周的作业较少,只有一个编程任务hw2.作业比较简单,如 ...
- 【Python】Coding the Matrix:Week 5: Dimension Homework 5
这一周的作业,刚压线写完.Problem3 没有写,不想证明了.从Problem 9 开始一直到最后难度都挺大的,我是在论坛上看过了别人的讨论才写出来的,挣扎了很久. Problem 9在给定的基上分 ...
- 将 HPC 作业从本地计算机提交到部署在 Azure 中的 HPC Pack 群集
Note Azure 具有用于创建和处理资源的两个不同的部署模型:Resource Manager 和经典. 这篇文章介绍了如何使用这两种模型,但 Azure 建议大多数最新部署使用 Resource ...
- python通过post提交数据的方法
python通过post提交数据的方法 本文实例讲述了python通过post提交数据的方法.分享给大家供大家参考. 具体实现方法如下: # -*- coding: cp936 -*- imp ...
- python 接口测试 、提交数据
在测试过程中经常会遇见需要向服务器提交数据.或者进行接口测试,这个有很多方法,但是我经常用的就是使用python 编写脚本提交,方便.说说方法: 思路: 1.首先有一个提交数据的url 2.按照字典的 ...
- python创建数组的方法
一 直接定义法: 1.直接定义 matrix=[0,1,2,3] 2.间接定义 matrix=[0 for i in range(4)] print(matrix) 二 Numpy方法: Numpy内 ...
- Python爬虫防封杀方法集合
Python爬虫防封杀方法集合 mrlevo520 2016.09.01 14:20* 阅读 2263喜欢 38 Python 2.7 IDE Pycharm 5.0.3 前言 ...
- python 类属性与方法
Python 类属性与方法 标签(空格分隔): Python Python的访问限制 Python支持面向对象,其对属性的权限控制通过属性名来实现,如果一个属性有双下划线开头(__),该属性就无法被外 ...
- Python学习笔记4-如何快速的学会一个Python的模块、方法、关键字
想要快速的学会一个Python的模块和方法,两个函数必须要知道,那就是dir()和help() dir():能够快速的以集合的型式列出该模块下的所有内容(类.常量.方法)例: #--encoding: ...
随机推荐
- C语言库函数大全及应用实例二
原文:C语言库函数大全及应用实例二 [编程资料]C语言库函数大全及应用实例二 函数名: bioskey 功 能 ...
- 工作流设计参考(包括PHP实现)
工作流很少有让人满意的,即便是国内用的比较多的jbpm,用起来也会觉得很便扭.再加上PHP中没有什么好用的工作流,于是干脆自己设计一个,设计的原则如下: 1 根据80/20原则,只使用wfmc模型中最 ...
- [译]Java垃圾回收器的类型
说明:这篇文章来翻译来自于Javapapers 的Types of Java Garbage Collectors 在这部分的教程中我们将讲到可使用的四种不同类型的Java垃圾回收器.垃圾回收是Jav ...
- 基于jQuery的上下无缝滚动应用(单行或多行)
工作中遇到的一个js代码,现在对.trigger('mouseleave'),仍一知半解... <script>$(function(){//单行应用var _wrap=$('ul.lin ...
- mysql的架构
和其他数据库相比,mysql有点与众不同,它的架构可以在多种不同场景中应用并发挥好的作用,而理解其设计是发挥好作用的先决条件 每当我们在想起mysql的逻辑架构师,我们可以构造一副mysql各组件之间 ...
- html5 文件系统File API
前言: 在做浏览器上传图片的时候,一般采用form表单上传,这种上传无法预览图片,无法查看图片大小,无法知道图片的类型等等!那么在html5 File API提供了这些表单无法实现的功能,而且还支持拖 ...
- vue实现ajax滚动下拉加载,同时具有loading效果
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 数据类型 text 和 varchar 在 add 运算符中不兼容
原文:数据类型 text 和 varchar 在 add 运算符中不兼容 在SQL Server2005中,使用类似下面的Update语句: 1 UPDATE tb_SmsBlacklist SET ...
- 详解SpringMVC请求的时候是如何找到正确的Controller
详解SpringMVC请求的时候是如何找到正确的Controller[附带源码分析] 目录 前言 源码分析 重要接口介绍 SpringMVC初始化的时候做了什么 HandlerExecutionCha ...
- 如何让Fortran生成不同的随机数
用Fortran生成随机数的方法很简单,就是: call random_seed ()call random_number (rd) 生成随机数组可以这样: do k = 1,10 call rand ...