小组在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. pcl库卸载再重装

    系统版本:ubuntu 16.04 sudo rm -r /usr/include/pcl-1.7 /usr/share/pcl /usr/bin/pcl* /usr/lib/libpcl* sudo ...

  2. Linux更改时区

    在下午查看系统时间,发现时间竟然是凌晨2点过: [root@node01 ~]# date Sat Jul 20 02:34:29 EDT 2019 开始以为是时间不是24小时进制的,百度了一下,参考 ...

  3. Quartz.NET常用方法 02

    上一篇里介绍了Job和Trigger的常用方法,这一节将介绍Calendar,它的作用是排除特定的日期时间.   Calendar的常用类 DailyCalendar 排除每天某个时间段任务的执行 例 ...

  4. react-父子子孙组件嵌套-context

    方案一 import React from 'react' import ReactTypes from 'prop-types' /* // 最外层的父组件 export default class ...

  5. docker的个人理解

    一.什么是docker? docker就是集装箱的原理.可以实现远超于虚拟机的轻量级虚拟化.它是内核级的虚拟化.期望达到使项目运行环境一次封装,到处运行的目的. 集装箱解决了什么问题?在一艘大船上,可 ...

  6. ubuntu set up 1 - 网络

    r2v has to be replaced.. 1. 官网下载zip版本,下载安装脚本 https://www.r2v.com/chapter_00/install.html https://ins ...

  7. vue.js中使用离线检测

    Html5在window.navigator对象上添加了一个属性onLine 返回布尔值 true表示在线.同时新增了两个事件: window.addEventListener('online', f ...

  8. [CF235A] LCM Challenge - 贪心

    找到3个不超过n的正整数(可以相同),使得它们的lcm(最小公倍数)最大. Solution 可以做得很优雅吧,但我喜欢(只会)暴力一点 根据质数密度分布性质,最后所取的这三个数一定不会比 \(n\) ...

  9. Wannafly Camp 2020 Day 2E 阔力梯的树 - set,启发式合并

    搞一波启发式合并即可 #include <bits/stdc++.h> using namespace std; #define int long long #define iter se ...

  10. SmartSVN:File has inconsistent newlines

    用SmartSVN提交文件的时候,提示svn: File has inconsistent newlines 这是由于要提交的文件编码时混合了windows和unix符号导致的. 解决方案 Smart ...