小组在GitHub上找了一个Pygame实现的超级马里奥游戏。所以我的学习过程大致如下:

1.快速学习Python基础语法。

2.学习pygame并着手理解这个项目。

3.完成作业以及各种文档报告。

--------------------------------------------------------------------------------------------------------------------

Python基础语法基本数据类型篇

基本数据类型(整数类型,浮点数类型,复数类型,数值运算操作符,数值运算函数,数值运算方法)

在 Python 中,变量就是变量,它没有类型,我们所说的“类型”是变量所指的内存中对象的类型。

///a,b,c=100,1.1,"wjy"    #多个变量赋值

标准数据类型:python3中有六种标准数据类型。

一,Number

Python3 支持 int、float、bool、complex(复数)。

>>>a,b,c,d=20,5.5,True,4+3j

>>>print(type(a),type(b),type(c),type(d))

True,False 的值分别为1,0.

1.

python3支持三种数值类型

整型:分为正负整数,不限制大小。

浮点型:由整数和小数部分组成,可用科学记数法表示。

复数:实部和虚部分别为浮点型。a+bj,complex(a,b).

2.

数字类型转换;

int(x);float(x);complex(x);complex(x,y);

3.

数字运算:

算术运算符:+-*/%//**

比较运算符:==!=><>=<=

赋值运算符:=,+=-=/=*=%=//=**=

位运算符:按位与&,按位或|,按位异或^,按位取反~,<<,>>。

逻辑运算符:and or not 布尔运算

成员运算符:in,not in测试实例中包含了一系列的成员

身份运算符:is not is 比较两个对象的存储单元,判断两个标识符是否引用自同一对象。

优先级:

运算符 描述
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符

不同类型的数混合运算时会将整数转换为浮点数。

在交互模式中,最后被输出的表达式结果被赋值给变量 _ 。

4.

数学函数:

abs(x) 返回数字的绝对值,如abs(-10) 返回 10
ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5

cmp(x, y)

如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。 Python 3 已废弃 。使用 使用 (x>y)-(x<y) 替换。
exp(x) 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
fabs(x) 返回数字的绝对值,如math.fabs(-10) 返回10.0
floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4
log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x) 返回以10为基数的x的对数,如math.log10(100)返回 2.0
max(x1, x2,...) 返回给定参数的最大值,参数可以为序列。
min(x1, x2,...) 返回给定参数的最小值,参数可以为序列。
modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y) x**y 运算后的值。
round(x [,n]) 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
sqrt(x) 返回数字x的平方根,数字可以为负数,返回类型为实数,如math.sqrt(4)返回 2+0j

5.

随机数函数:

choice(seq):从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。

randrange ([start,] stop [,step]):从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1

random():随机生成下一个实数,它在[0,1)范围内。

seed([x]):改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。

shuffle(lst):将序列的所有元素随机排序.

uniform(x, y):随机生成下一个实数,它在[x,y]范围内。

6.

三角函数

acos(x) 返回x的反余弦弧度值。  
asin(x) 返回x的反正弦弧度值。  
atan(x) 返回x的反正切弧度值。  
atan2(y, x) 返回给定的 X 及 Y 坐标值的反正切值。  
cos(x) 返回x的弧度的余弦值。  
hypot(x, y) 返回欧几里德范数 sqrt(x*x + y*y)。  
sin(x) 返回的x弧度的正弦值。  
tan(x) 返回x弧度的正切值。  
degrees(x) 将弧度转换为角度,如degrees(math.pi/2) ,  返回90.0  
radians(x) 将角度转换为弧度  

程序设计实验:一个Python游戏,体验软件开发。的更多相关文章

  1. Python进阶(十)----软件开发规范, time模块, datatime模块,random模块,collection模块(python额外数据类型)

    Python进阶(十)----软件开发规范, time模块, datatime模块,random模块,collection模块(python额外数据类型) 一丶软件开发规范 六个目录: #### 对某 ...

  2. Python 入门之 软件开发规范

    Python 入门之 软件开发规范 1.软件开发规范 -- 分文件 (1)为什么使用软件开发规范: 当几百行--大几万行代码存在于一个py文件中时存在的问题: 不便于管理 修改 可读性差 加载速度慢 ...

  3. 第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求

    第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求 selenium模块 selenium模块为 ...

  4. 5.15 python 面向对象的软件开发&领域模型

    1.面向对象的软件开发 参考地址::http://www.cnblogs.com/linhaifeng/articles/6182264.html#_label14 面向对象的软件工程包括下面几个部: ...

  5. python模块导入-软件开发目录规范-01

    模块 模块的基本概念 模块: # 一系列功能的结合体 模块的三种来源 """ 模块的三种来源 1.python解释器内置的模块(os.sys....) 2.第三方的别人写 ...

  6. 使用eclipse搭建第一个python+Django的web开发实例

    python+Django的web开发实例   一.创建一个项目如果这是你第一次使用Django,那么你必须进行一些初始设置.也就是通过自动生成代码来建立一个Django项目--一个Django项目的 ...

  7. Python入门之软件开发目录规范

    本章重点: 理解在开发人标准软件时,如何布局项目目录结构,以及注意开发规范的重要性. 一.为什么要有好的目录结构 二.目录组织的方式 三.关于README的内容 四.关于requirements.tx ...

  8. 二十九 Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求

    selenium模块 selenium模块为第三方模块需要安装,selenium模块是一个操作各种浏览器对应软件的api接口模块 selenium模块是一个操作各种浏览器对应软件的api接口模块,所以 ...

  9. python学习之-软件开发的目录规范

    通常软件目录下有几个标准文件夹 软件主文件夹命名,通常都是大写(ATM_SHOPPING) ------------------------------------------------------ ...

随机推荐

  1. 修改testlink上传文件大小

    大家在使用testlink导入测试时,可能会遇到由于上传的文件太大,而不能上传的现象.当然建议大家在导入用例或者上传文件时,不要上传过大的文件,因为这样的速度确实非常慢.可是由于特殊的原因我们必须要导 ...

  2. 合理使用Android提供的Annotation来提高代码的质量

    概述 Java语言提供了Annotation的机制,让描述性的元数据能够和代码共存.通常我们可以利用Annotation,来做一些标志性的说明.然而Annotation必须和相应的解析工具一起才能工作 ...

  3. Common Subsequence POJ - 1458 最长公共子序列 线性DP

    #include <iostream> #include <algorithm> #include <string> #include <cstring> ...

  4. 项目打jar包和运行

    打包成jar包和部署,运行. 1.在pom.xml中加入  <packaging>jar</packaging> <groupId>com.demo02</g ...

  5. [AHOI2002] 芝麻开门 - 数论

    求 \(n^k\) 的因子和, \(n \leq 2^{16}, k \leq 20\) Solution \[\prod_i \frac{p_i^{q_ik+1}-1}{p_i-1}\] #incl ...

  6. POI题解整合

    我也不知道为啥我就想把POI的题全都放到一篇blog里写完. POI 2005 SAM-Toy Cars 贪心,每次选下次出现最晚的. POI 2006 KRA-The Disks 箱子位置单调,所以 ...

  7. Java生鲜电商平台-生鲜电商订单结算系统的深入解析与反思总结

    Java生鲜电商平台-生鲜电商订单结算系统的深入解析与反思总结 说明:最近疫情影响,生鲜电商这个行业被彻底的激活了,全中国人民都知道用小程序或者APP可以进行买菜了,但是可惜的是,我的生鲜电商在去年经 ...

  8. Codeforces Round #601 (Div. 2) E1 Send Boxes to Alice (Easy Version)

    #include <bits/stdc++.h> using namespace std; typedef long long ll; ; int a[N]; int n; bool pr ...

  9. os.getcwd()和os.path.realpath(__file__)的区别

    https://blog.csdn.net/xiaminli/article/details/74944580 python中split().os.path.split()函数用法

  10. EF CodeFirst配置领域类

    当我们不想使用EF的默认约定时,可以手动配置领域类,但还是推荐少配置,Simple is best! 两种配置方式: 1.Data Annotation Attributes[数据注解特性]  数据注 ...