您的位置:首页 > 编程语言 > Python开发

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使用











圆周率的计算

第五周:函数和代码复用

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文件转换成可执行文件





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: