python语言程序设计MOOC
2018-03-27 21:29
399 查看
第三周:
3.1数字类型及操作
整型:pow(x,y)x的y次方
浮点型:
复数类型:
数值运算与操作符:加减乘除 x/y产生小数,10/3=3.3333 x//y如:10//3=3
正+ ,负-,x%y取余,
x**y当 y是小数时,开方运算。
类型之间可进行混合运算,生成结果为最宽的类型。
数值运算函数:int(x)把x舍弃小数部分变成整数int(123.34)为123 int("123")结果为123
float(x)功能和int()相反
3_2.实例:工作日的力量
day = 1.0
dayfactor = 0.01
for i in range(365):
if i%7 in [6,0]:
day = day*(1-dayfactor)
else:
day = day*(1+dayfactor)
print("工作日的力量{:2f}".format(day))
3.3字符串类型及操作
单双引号只能一行,三单双引号可以多行
字符串操作:str[]索引
高级切片:str[M:N:K], M和N可以缺省,表示到字符串开头或者末尾
字符串操作符:
字符串处理函数:len() str() eval()
----------------------------
3.4 time库的使用
时间格式化:
程序计时应用:
3.5 文本进度条
print()默认打印完换行,于是()中添加end=""是使print最后字符串是空字符串,覆盖换行字符、\r表示在打印槽信息之前,先把光标回退到行首
'abcd'<'ad'返回Ture 是怎么比较的?
可以导入中文名称的模块
第四周:程序的控制结构
4.1程序的分支结构
format里面的内容就是二分支结构的紧凑形式:
程序的异常处理:
4.2 身体的值数
4.3程序的循环结构
遍历循环,无限循环
循环控制保留字 break continue
s = s[:-1]表示去掉最后一个字符
4.4random使用
圆周率的计算
默认参数放在非默认参数后面
lamda函数
5.2 七段数码管
import turtle, time
def drawGap(): #绘制数码管间隔
turtle.penup()
turtle.fd(5)
def drawLine(draw): #绘制单段数码管
drawGap()
turtle.pendown() if draw else turtle.penup()
turtle.fd(40)
drawGap()
turtle.right(90)
def drawDigit(d): #根据数字绘制七段数码管
drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine(False)
drawLine(True) if d in [0,2,3,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,2,6,8] else drawLine(False)
turtle.left(90)
drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False)
drawLine(True) if d in [0,1,2,3,4,7,8,9] else drawLine(False)
turtle.left(180)
turtle.penup()
turtle.fd(20)
def drawDate(date):
turtle.pencolor("red")
for i in date:
if i == '-':
turtle.write('年',font=("Arial", 18, "normal"))
turtle.pencolor("green")
turtle.fd(40)
elif i == '=':
turtle.write('月',font=("Arial", 18, "normal"))
turtle.pencolor("blue")
turtle.fd(40)
elif i == '+':
turtle.write('日',font=("Arial", 18, "normal"))
else:
drawDigit(eval(i))
def main():
turtle.setup(800, 350, 200, 200)
turtle.penup()
turtle.fd(-350)
turtle.pensize(5)
# drawDate('2018-10=10+')
drawDate(time.strftime('%Y-%m=%d+',time.gmtime()))
turtle.hideturtle()
turtle.done()
main()
5.3 代码复用与函数递归
3.1数字类型及操作
整型:pow(x,y)x的y次方
浮点型:
复数类型:
数值运算与操作符:加减乘除 x/y产生小数,10/3=3.3333 x//y如:10//3=3
正+ ,负-,x%y取余,
x**y当 y是小数时,开方运算。
类型之间可进行混合运算,生成结果为最宽的类型。
数值运算函数:int(x)把x舍弃小数部分变成整数int(123.34)为123 int("123")结果为123
float(x)功能和int()相反
3_2.实例:工作日的力量
day = 1.0
dayfactor = 0.01
for i in range(365):
if i%7 in [6,0]:
day = day*(1-dayfactor)
else:
day = day*(1+dayfactor)
print("工作日的力量{:2f}".format(day))
3.3字符串类型及操作
单双引号只能一行,三单双引号可以多行
字符串操作:str[]索引
高级切片:str[M:N:K], M和N可以缺省,表示到字符串开头或者末尾
字符串操作符:
字符串处理函数:len() str() eval()
----------------------------
3.4 time库的使用
时间格式化:
程序计时应用:
3.5 文本进度条
print()默认打印完换行,于是()中添加end=""是使print最后字符串是空字符串,覆盖换行字符、\r表示在打印槽信息之前,先把光标回退到行首
'abcd'<'ad'返回Ture 是怎么比较的?
可以导入中文名称的模块
第四周:程序的控制结构
4.1程序的分支结构
format里面的内容就是二分支结构的紧凑形式:
程序的异常处理:
4.2 身体的值数
4.3程序的循环结构
遍历循环,无限循环
循环控制保留字 break continue
s = s[:-1]表示去掉最后一个字符
4.4random使用
圆周率的计算
第五周:函数和代码复用
5.1函数的定义和使用函数的参数传递默认参数放在非默认参数后面
lamda函数
5.2 七段数码管
#SevenDigitsDrawV1.py 简易七段管 import turtle def drawLine(draw): #绘制单段数码管 turtle.pendown() if draw else turtle.penup() turtle.fd(40) turtle.right(90) def drawDigit(digit): #根据数字绘制七段数码管 drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False) drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False) drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False) drawLine(True) if digit in [0,2,6,8] else drawLine(False) turtle.left(90) drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False) drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False) drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False) turtle.left(180) turtle.penup() turtle.fd(20) def drawDate(date): #获得要输出的数字 for i in date: drawDigit(eval(i)) #通过eval()函数将数字变为整数 def main(): turtle.setup(800, 350, 200, 200) turtle.penup() turtle.fd(-300) turtle.pensize(5) drawDate('20181010') turtle.hideturtle() turtle.done() main()版本二:#SevenDigitsDrawV2.py
import turtle, time
def drawGap(): #绘制数码管间隔
turtle.penup()
turtle.fd(5)
def drawLine(draw): #绘制单段数码管
drawGap()
turtle.pendown() if draw else turtle.penup()
turtle.fd(40)
drawGap()
turtle.right(90)
def drawDigit(d): #根据数字绘制七段数码管
drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine(False)
drawLine(True) if d in [0,2,3,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,2,6,8] else drawLine(False)
turtle.left(90)
drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False)
drawLine(True) if d in [0,1,2,3,4,7,8,9] else drawLine(False)
turtle.left(180)
turtle.penup()
turtle.fd(20)
def drawDate(date):
turtle.pencolor("red")
for i in date:
if i == '-':
turtle.write('年',font=("Arial", 18, "normal"))
turtle.pencolor("green")
turtle.fd(40)
elif i == '=':
turtle.write('月',font=("Arial", 18, "normal"))
turtle.pencolor("blue")
turtle.fd(40)
elif i == '+':
turtle.write('日',font=("Arial", 18, "normal"))
else:
drawDigit(eval(i))
def main():
turtle.setup(800, 350, 200, 200)
turtle.penup()
turtle.fd(-350)
turtle.pensize(5)
# drawDate('2018-10=10+')
drawDate(time.strftime('%Y-%m=%d+',time.gmtime()))
turtle.hideturtle()
turtle.done()
main()
5.3 代码复用与函数递归
def fact(n): if n==0: return 1 else: return n*fact(n-1) a=fact(5) print(a)
def rvs(s): //字符串反转 if s=="": return s else: return rvs(s[1:])+s[0] def f(n): //数列 if n==1 or n==2: return 1 else: return f(n-1)+f(n-2)
def hanoi(n,src,dst,mid): //汉诺塔 global count if n==1: print("{}:{}->{}".format(n,src,dst)) count += 1 else: hanoi(n-1,src,mid,dst) print("{}:{}->{}".format(n,src,dst)) count += 1 hanoi(n-1,mid,dst,src) hanoi(3,"A","C","B") print(count)5.4 pyinstaller库将py文件转换成可执行文件
相关文章推荐
- 中国大学 MOOC 课程 《Python 语言程序设计》第六周
- 中国大学 MOOC 课程 《Python 语言程序设计》 课后练习(第 4 周)
- 中国大学 MOOC 课程 《Python 语言程序设计》第五周绘制树
- 中国大学 MOOC 课程 《Python 语言程序设计》第五周课后习题
- 中国大学 MOOC 课程 《Python 语言程序设计》第六周课后习题
- 中国大学 MOOC 课程 《Python 语言程序设计》 课后练习(第 2 周)
- 从零开始:NTFS文件格式的数据恢复的程序设计python语言(3)
- python 程序设计语言 笔记(三)
- Python 程序设计语言 笔记(七)
- Python语言程序设计-Week2-实例解析
- Python语言程序设计 前言
- 广东海洋大学 电子1151 孔yanfei python语言程序设计 第五周
- Python语言程序设计-学习笔记3:Python编程之实例解析
- 广东海洋大学 电子1151 孔yanfei python语言程序设计 第七周
- Python语言程序设计-学习笔记4:Python编程之数据类型
- 【20171011】python_语言设计(6)程序设计方法与面向对象程序设计
- 广东海洋大学 电子1151 孔yanfei python语言程序设计 第九周
- Python 语言程序设计---第一周练习题
- 广东海洋大学 电子1151 孔yanfei python语言程序设计 第十周
- 【20171014】python_语言设计(7)面向过程程序设计