当前位置:   article > 正文

《Python程序设计基础 》课堂笔记整理_python语言程序设计笔记

python语言程序设计笔记

1 数据

1.1 基本数据类型

1.1.2 数字类型

x//y x与y整数商,即不大于x与y之商的最大整数

x**y x的y次幂,即x^{y}

(x+yj).real 复数的实部;(x+yj).imag 复数的虚部

1.1.3 优先级

x**y**z 等于x**(y**z),顺序从右向左

**>//=*

1.2 组合数据类型

1.2.1 序列类型

        列表类型

        字符串使用双引号或单引号括起来的零个或多个字符,字符串是字符的序。1.正向递增序号:正向递增以最左侧字符序号为0,向右依次递增,最右侧字符序号为L-1;反向递减序号:以最右侧字符序号为-1,向左依次递减,最左侧字符序号为-L; 2.区间访问[N:M],表示字符串中从N到M(不包含M)的子字符串,N、M为字符串的索引序号,可以混合使用正向递增序号和反向递减序号; 注意N和M之间的符号是引号  ;

1.2.2 集合类型

1.2.4 映射类型

1.3

(1)保留字(也称为关键字)def可以定义函数(见附录3)

(2)缩进用来表示代码之间的包含和层次关系,表达了所属关系

(3)IPO(Input,Process,Output)

(4)编译是将源代码转换成目标代码的过程;解释是将源代码逐条转换成目标代码同时逐条运行目标代码的过程。解释和编译的区别在于编译是一次性的翻译,一旦程序被编译,不再需要编译程序或源代码;解释则在每次程序运行时都需要解释器和源代码。

(5)使用保留字import引用函数库:

① import <库名>;在之后使用函数库中的函数:<库名>.<函数名>(<函数参数>);

②from <库名> import <函数名,函数名,.....,函数名> 或 from <库名> import * (*是通配符,表示所有函数);调用函数:<函数名>(<函数参数>);

③import <库名> as t (t是标识符);调用函数:t.<函数名>(<函数参数>)

个人感觉,要是在程序开发时,①合适,在做acm之类的题时,③合适

(6)命名标识符:首字母不能是数字,中间不能出现空格,长度理论上没有限制

(7)(python)如何让两个连续print函数的输出在同一行显示_ohplz的博客-CSDN博客_python两个print输出在同一行

(8)同步赋值语句;

>>>x=1,y=2

>>>x,y=y,x 

x = 2, y = 1

1.4 基本结构

1、for循环

(1)for循环遍历字符串

  1. str = "这是一个字符串"
  2. for it in str:
  3. print(it,end="")
  4. #如果不加,end=""那么每一个字符输出结束,都会自动输出一个回车符

(2)for循环进行数值循环

  1. #计算1到5的累加
  2. num = 5
  3. sum = 0
  4. for i in range(5):
  5. sum += i
  6. print(sum)
  7. '''
  8. 不可以将range(5)换成num,
  9. 否则会提示错误TypeError: 'int' object is not iterable
  10. '''

(3)for循环遍历列表和元组

  1. my_list = [1,2,3,4]
  2. for i in my_list:
  3. print("list = ",i)

(4)for循环遍历字典

  1. my_dic = {'1':"钟离",'2':"艾尔海森",'3':"魈",'4':"万叶"}
  2. for i in my_dic:
  3. print("my_dic = ",i)
  4. #字典用大括号;列表和元组用中括号

1.5 函数和代码复用 

3 标准库

3.1 内置函数

input()函数:无论用户输入什么,input()函数都以字符串类型返回结果

eval(<字符串>):将输入的字符串转变为Python语句,并执行该语句。输入字符串“hello”,eval()函数去掉引号后,将其解释为一个变量,由于之前没有定义过hello变量解释器会报错;如果输入字符串“‘hello’”,eval()函数去掉

print(<待输出字符串>):print()函数用槽格式和format()方法将变量和字符串结合到一起输出

3.1.1 数值运算函数

abs(x) x的绝对值,复数x的模

divmod(x,y) 返回(x//y,x%y),输出为二元组形式

pow(x,y[,z]) (x**y)%z,[...]表示该参数可以省略,与math库中的pow(x,y)函数区别

round(x[,ndigits]) 对x进行常规的四舍五入,保留ndigits位小数

max(^{x_{1}},x_{2},...,x_{y}

min(^{x_{1}},x_{2},...,x_{y}

3.1.2 数字类型转换函数

int(x) 将浮点数形式、整数或浮点数的字符串的x转换为整数,不可以是复数

float(x)  将整数形式、整数或浮点数的字符串的x转换为浮点数,不可以是复数

complex(re[,im]) 将整数形式、整数或浮点数或复数的字符串的x转换为复数,自动加括号

3.1.3 eval()与三种数字类型转换函数的区别

eval() 在转换复数的字符串时自动加小括号

3.2 turtle库

import turtle as t

t.setup(width,height,startx,starty)设置主窗体的大小和位置,width:窗口宽度,整数表示像素值,值是小数,表示窗口宽度与屏幕的比例;height:窗口高度,如果值是整数,表示像素值,值是小数,表示窗口高度与屏幕比例;startx窗口左侧与屏幕左侧的像素距离,None,窗口位于屏幕水平中央;starty窗口顶部与屏幕顶部的像素距离,若为None,表示窗口位于屏幕垂直中央

t.penup()[t.pu();t.up()];t.pemdown()[t.pd();t.down()];这两个总是忘记加括号QWQ,作用顾名思义

t.circle(radius,extent=None)根据半径绘制extent角度的弧形,可不设置extent

t.pensize(width)(或t.width())用来设置画笔尺寸,若width为None或空,函数返回当前画笔宽度

t.pencolor("colorstring")给画笔设置颜色

3.3 time库

time库与datetime的区别

3.4 radom库

附录 程序实例

附录1 典型问题

1、忘记缩进;

2、Python是区分大小写

3、if i %7 in (0)错误小括号内不能只有0,原因

附录2 温度转换

2.1 输入N或n时退出

  1. TemStr = input("请输入带有符号的温度值:")
  2. while TempStr[-1] not in ['N','n']: #列表
  3. if TempStr[-1] in ['F','f']:
  4. C = (eval(TempStr[0:-1]) - 32) / 1.8
  5. print("转换后的温度是{:.2f}C".format(C))
  6. elif TempStr[-1] in ['C','c']:
  7. F = 1.8 * eval(TempStr[0:-1]) + 32
  8. print("转换后的温度是{:.2f}F".format(F))
  9. else:
  10. print("输入格式错误")
  11. TempStr = input("请输入")

2.2用保留字def定义函数

  1. def tempConvert(ValueStr):
  2. if ValueStr[-1] in ['f','F']:
  3. C = (eval(ValueStr[0:-1]) - 32) / 1.8
  4. print("转换后的温度是:{:.2f}C".format(C))
  5. elif ValueStr[-1] in ['C','c']:
  6. F = eval(ValueStr[0:-1]) * 1.8 - 32
  7. print("转换后的温度是:{:.2f}F".format(F))
  8. else:
  9. print("输入格式错误")
  10. TempStr = input("请输入带符号的温度值:")
  11. tempConvert(TempStr)

附录3 天天向上的力量

  1. def dayUP(df):
  2. dayup = 1.0
  3. for i in range (365)://也可以range(365)
  4. if i % 7 in [6,0]:
  5. dayup = dayup * (1 - 0.01)
  6. else:
  7. dayup = dayup * (1 + df)
  8. return dayup
  9. dayfactor = 0.01
  10. while (dayUP(dayfactor) < 37.78):
  11. dayfactor += 0.001
  12. print("每天努力的参数是:{:.3f}.".format(dayfactor))

附录4 科赫曲线

4.1

  1. #科赫曲线
  2. import turtle
  3. def koch(size,n):
  4. if n==0:
  5. turtle.fd(size)
  6. else:
  7. for angle in (0,60,-120,60):
  8. turtle.left(angle)
  9. koch(size/3,n-1)
  10. def main():
  11. turtle.setup(800,400)
  12. turtle.speed(0)
  13. turtle.penup()
  14. turtle.goto(-300,-50)
  15. turtle.pendown()
  16. turtle.pensize(2)
  17. koch(600,3)
  18. turtle.hideturtle()
  19. main()

4.2 雪花

  1. # # This is a sample Python script.
  2. #
  3. # # Press Shift+F10 to execute it or replace it with your code.
  4. # # Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.
  5. #
  6. #
  7. # def print_hi(name):
  8. # # Use a breakpoint in the code line below to debug your script.
  9. # print(f'Hi, {name}') # Press Ctrl+F8 to toggle the breakpoint.
  10. #
  11. #
  12. # # Press the green button in the gutter to run the script.
  13. # if __name__ == '__main__':
  14. # print_hi('PyCharm')
  15. #
  16. # # See PyCharm help at https://www.jetbrains.com/help/pycharm/
  17. from math import sqrt
  18. def GetNum():
  19. nums = []
  20. iNumStr = input("请输入数字(直接输入回车退出):")
  21. while iNumStr != "":
  22. nums.append(eval(iNumStr))
  23. iNumStr = input("请输入数字(直接输入回车退出):")
  24. return nums
  25. def mean(numbers): #平均值
  26. s = 0.0
  27. for num in numbers:
  28. s = s + num
  29. return s / len(numbers)
  30. def dev(numbers,mean): #计算标准差
  31. sdev = 0.0
  32. for num in numbers:
  33. sdev = sdev + (num-mean) ** 2
  34. return sqrt(sdev / (len(numbers)-1))
  35. def median(numbers): #;sorted是python的内置函数,并不是可变对象(列表、字典)的特有方法,sorted()函数需要一个参数(参数可以是列表、字典、元组、字符串),无论传递什么参数,都将返回一个以列表为容器的返回值,如果是字典将返回键的列表。
  36. new = sorted(numbers)
  37. size = len(numbers)
  38. if size % 2 == 0:
  39. med = (new[size//2-1]+new[size//2])/2 #//整数商,不大于x与y之商的最大整数
  40. else:
  41. med = new[size//2]
  42. return med
  43. def main(): #主函数
  44. n = GetNum()
  45. m = mean(n)
  46. print("平均值:{},标准差:{:.2},中位数:{}.".format(m,dev(n,m),median(n)))
  47. return 0
  48. main()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/497158
推荐阅读
相关标签
  

闽ICP备14008679号