《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循环遍历字符串

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

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

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

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

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

(4)for循环遍历字典

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

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时退出

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

2.2用保留字def定义函数

def tempConvert(ValueStr):
    if ValueStr[-1] in ['f','F']:
        C = (eval(ValueStr[0:-1]) - 32) / 1.8
        print("转换后的温度是:{:.2f}C".format(C))
    elif ValueStr[-1] in ['C','c']:
        F = eval(ValueStr[0:-1]) * 1.8 - 32
        print("转换后的温度是:{:.2f}F".format(F))
    else:
        print("输入格式错误")

TempStr = input("请输入带符号的温度值:")
tempConvert(TempStr)

附录3 天天向上的力量

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

附录4 科赫曲线

4.1

#科赫曲线
import turtle
def koch(size,n):
    if n==0:
        turtle.fd(size)
    else:
        for angle in (0,60,-120,60):
            turtle.left(angle)
            koch(size/3,n-1)

def main():
    turtle.setup(800,400)
    turtle.speed(0)
    turtle.penup()
    turtle.goto(-300,-50)
    turtle.pendown()
    turtle.pensize(2)
    koch(600,3)
    turtle.hideturtle()

main()

4.2 雪花

# # This is a sample Python script.
#
# # Press Shift+F10 to execute it or replace it with your code.
# # Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.
#
#
# def print_hi(name):
#     # Use a breakpoint in the code line below to debug your script.
#     print(f'Hi, {name}')  # Press Ctrl+F8 to toggle the breakpoint.
#
#
# # Press the green button in the gutter to run the script.
# if __name__ == '__main__':
#     print_hi('PyCharm')
#
# # See PyCharm help at https://www.jetbrains.com/help/pycharm/


from math import sqrt
def GetNum():
    nums = []
    iNumStr = input("请输入数字(直接输入回车退出):")
    while iNumStr != "":
        nums.append(eval(iNumStr))
        iNumStr = input("请输入数字(直接输入回车退出):")
    return nums

def mean(numbers): #平均值
    s = 0.0
    for num in numbers:
        s = s + num

    return s / len(numbers)

def dev(numbers,mean):  #计算标准差
    sdev = 0.0
    for num in numbers:
        sdev = sdev + (num-mean) ** 2

    return sqrt(sdev / (len(numbers)-1))
def median(numbers):    #;sorted是python的内置函数,并不是可变对象(列表、字典)的特有方法,sorted()函数需要一个参数(参数可以是列表、字典、元组、字符串),无论传递什么参数,都将返回一个以列表为容器的返回值,如果是字典将返回键的列表。
    new = sorted(numbers)
    size = len(numbers)
    if size % 2 == 0:
        med = (new[size//2-1]+new[size//2])/2   #//整数商,不大于x与y之商的最大整数
    else:
        med = new[size//2]

    return med

def main(): #主函数
    n = GetNum()
    m = mean(n)
    print("平均值:{},标准差:{:.2},中位数:{}.".format(m,dev(n,m),median(n)))
    return 0
main()

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值