美文网首页
[Python与数学建模-入门使用]-2Python基础知识

[Python与数学建模-入门使用]-2Python基础知识

作者: 六千宛 | 来源:发表于2020-07-26 22:22 被阅读0次

    1基础数据处理

      数据处理最基本的对象就是变量和常数。变量的值可变动,常数则是固定不变的数据。变量命名规则如下:
      第一个字符必须是英文字母、下划线(“_”)或中文,其余字符可以搭配其他的大小写英文字母、数字、下划线或中文。
      不能使用Python内置的关键字。
      变量名称必须区分大小写字母。
      Python语言简洁明了,变量不需要声明就可以使用,给变量赋值的方式如下:
      变量名 = 数据
      例如:score = 100
      如果要让多个变量同时具有相同的值,例如:n = m = 20
      当我们想要在同一行中给多个变量赋值时,可以使用“,”来分割变量,例如:a, b, c = 80, 60, 20
      Python也允许用户以“;”来分割表达式,以便连续声明不同的程序语句,例如:a = 10; b = 20
      Python基本数据类型包括数值类型、布尔类型和字符串类型。

    1.1数值数据类型

      数值数据类型主要有整数和浮点数,浮点数就是带有小数点的数字,例如:
      a = 100 #整数
      b = 123.45 #浮点数

    1.2布尔数据类型

      Python语言的布尔(bool)数据类型只有True和False两个值,例如:
      switch = True
      turn = False
      布尔数据类型通常用于流程控制中的逻辑判断。

    1.3字符串数据类型

      在Python中定义一个字符串可以使用单引号、双引号和三引号(三个单引号或三个双引号),这使得Python输入文本更方便。在Python中,单引号和双引号表示法在字符串显示上完全相同,一般不用区别。但是通常情况下,单引号用于表示一个单词,双引号用于表示一个词组或句子。
      将字符串内容放在一对三引号中间时,不仅保留字符串的内容,还保留字符串的格式。三引号通常用于输入多行文本信息,一般可以表示大段的叙述性字符串。例如:
      title = "新年快乐"
      content = """同志们好!
      大家辛苦了!"""

    2输出print和输入input

    2.1输出print()函数

      print指令就是用来输出指定的字符串或数值,语法如下:
      print(项目1[, 项目2, …, sep=分割字符, end=终止符])
      例如:
      程序文件Pz1_2.py
      print("四书五经")
      print("《大学》","《中庸》","《论语》","《孟子》",sep='、')
      print("《大学》","《中庸》","《论语》","《孟子》")
      print("《大学》","《中庸》","《论语》","《孟子》",end=' ')
      print("《诗经》","《尚书》","《礼记》","《易经》","《春秋》")
      执行结果:
      四书五经
      《大学》、《中庸》、《论语》、《孟子》
      《大学》《中庸》《论语》《孟子》
      《大学》《中庸》《论语》《孟子》 《诗经》《尚书》《礼记》《易经》《春秋》
      print指令也支持格式化功能,主要是由%字符与后面的格式化字符串来控制输出格式,语法如下:print("项目"%(参数行))
      在输出的项目中使用“%s”代表输出字符串,“%d”代表输出整数,“%f”代表输出浮点数。例如:
      程序文件Pz1_3.py
      name="张三"; age=20
      print("%s的年龄是%d"%(name,age)) #输出:张三的年龄是20
      也可以使用format()进行格式化输出,例如
      print("{}的年龄是{}".format(name,age)) #输出:张三的年龄是20
      另外,通过设置格式符可以达到对齐效果,例如:
      %7s:固定输出7个字符,若不足7个字符,则会在字符串左方填入空格符;若大于7个字符,则全部输出。
      %7d:固定输出7个数字,若不足7位数,则会在数字左方填入空格符;若大于7位数,则全部输出。
      %8.2f:连同小数点也算1个字符,这种格式会固定输出8个字符,其中小数固定输出2位数,如果整数少于5位数,就会在数字左方填入空格符,但若小数小于2位数,则会在数字右方填入0。

    2.2输出转义字符

      print()函数除了输出一般的字符串或字符外,也可以在字符前加上反斜杠“\”来通知编译程序将后面的字符当成一个特殊字符,形成转义字符。例如'\n'是表示换行功能的“转义字符”,表1.3为几个常用的转义字符。


    图片.png

    2.3输入input()函数

      input()是输入指令,语法如下:
    变量=input(提示字符串)
      当我们输入数据再按Enter键后,就会将输入的数据赋值给变量。“提示字符串”则是一段给用户的提示信息,例如:
      height=input("请输入你的身高:")
      print(height)
      注1.2 input所输入的内容是一种字符串,如果要将该字符串转换为整数,就必须通过int()函数或eval()函数,如果将该字符串转换为浮点数,必须通过float()函数。
      例1.1输入圆的半径,求圆的周长
      程序文件Pex1_1.py

    r=float(input("请输入圆的半径:"))
    print('圆的周长是:',2*pi*r)
    

      当使用print输出时,还可以指定数值以哪种进制输出。常用的4种进制格式及说明如表1.4所示。


    图片.png

    3运算符与表达式

      表达式是由运算符与操作数所组成的。其中+、-、*及/符号称为运算符,操作数则包含变量、数值和字符。

    3.1算术运算符

      算术运算符主要包含数学运算中四则运算的运算符、求余运算符、整除运算符、幂次运算符等,例如
      程序文件Pz1_4.py

    x1 = 58 + 32     #x1=90
    x2 = 89 - 28     #x2=61
    x3 = 3 * 12      #x3=36
    x4 = 125 / 7     #x4=17.857142857142858
    x5 =125 // 7     #整除,x5=17
    x6 = 4**3        #4的3次幂,x6=64
    x7 = 46 % 5      #求余数,x7=1
    

    3.2复合赋值运算符

      由赋值运算符“=”与其他运算符结合而成,也就是“=”右方的源操作数必须有一个和左方接受赋值数值的操作数相同,例如:

    x += 1    #即x=x+1
    x -= 9    #即x=x-9
    x *= 6    #即x=x*6
    x /= 2    #即x=x/2
    x **=2   #即x=x**2
    x //= 7   #即x=x//7
    x %= 5   #即x=x%5
    

    3.3关系运算符

      用来比较两个数值之间的大小关系,通常用于流程控制语句,如果该关系运算结果成立,就返回真值(True);若不成立,则返回假值(False)。例如a=5,b=3,进行关系运算的结果如表1.5所示。


    图片.png

    3.4逻辑运算符

      主要有3个运算符:not、and、or,它们的功能分别说明如下:
      程序文件Pz1_5.py

    print (100>2) and (52>41)  #输出True
    total = 124
    value = (total % 4 ==0) and (total % 3 == 0)
    print(value)     #输出False
    

    3.5位运算符

      位运算(bit operation)就是二进制位逐位进行运算。在Python中,如果要将整数转换为二进制,就可以使用内置函数bin()。二进制数字操作的按位运算符如表1.6所示。


    图片.png

      表1.6中实例的计算过程如下:
      程序文件Pz1_6.py

    a=5; b=-6
    print(~a, bin(~a), bin(b),sep='、')  #输出:-6、-0b110、-0b110
    print(5<<2)      #输出:20
    print(5>>2)      #输出:1
    print(5&3)       #输出:1
    print(5|3)       #输出:7
    print(5^3)       #输出:6
    

    4流程控制

    4.1if语句

      多分支if语句的一般格式为:

    if 条件表达式1:
       语句块1
    elif 条件表达式2:
       语句块2
    ……
    elif 条件表达式m:
       语句块m
    else:
       语句块m+1
    

      当条件表达式1的值为True时,执行语句块1;否则求条件表达式2的值,为True时,执行语句块2;以此类推;若前面m个表达式的值都为False,则执行else后面的语句块m+1。不管有几个分支,程序执行完一个分支后,其余分支将不再执行。
      注1. 4
        (1)在if(或elif)语句的条件表达式后面必须加冒号“:”。
        (2)if(或elif) 语句中的语句块必须向右缩进,语句块可以是单个语句,也可以是多个语句。当包含两个或两个以上的语句时,语句必须缩进一致,即语句块中的语句必须上下对齐。
        (3)如果语句块中只有一条语句,if(或elif)语句和语句块可以写在同一行上。
      例1.2输入两个数,输出其中的最大数
      程序文件Pex1_2.py

    a, b = eval(input("请输入a,b两个数:"))  #把字符串转化为数值
    if a>=b: print("最大数为:",a)
    else: print("最大数为:",b)
    

    4.2for循环

      for循环又称为计数循环,是一种可以重复执行固定次数的循环,语法如下:

    for item in 序列对象:
      for的语句块
    else:
      else的语句块  #可加入或者不加入
    

      上述语句中可加入或者不加入else指令。Python提供了range()函数来搭配使用,主要功能是建立整数序列,语法如下:

    range([初始值,]终值[,步长])
    

      返回一个等差数列的可迭代对象,不包括终值,这里[]表示可选项。初始值的默认值为0,步长的默认值为1。可迭代对象,必须转化为下面将要介绍的列表才能显示所有元素。 例如:
      程序文件Pz1_7.py

    print(list(range(5)))       #输出:[0, 1, 2, 3, 4]
    print(list(range(1,6)))     #输出:[1, 2, 3, 4, 5]
    print(list(range(2,10,2)))  #输出:[2, 4, 6, 8]
    

      例1.3输出1+2+3+...+7

    #程序文件Pex1_3.py
    sum=0; number=int(input("请输入整数:"))
    print("从小到大排列输出数字:")
    for i in range(1,number+1):
        sum += i  #设置sum为i的和
        print("%d"%(i),end='')
        if i<number: print("+",end='')  #设置输出连加的算式
        else: print("=",end='')
    print("%d"%(sum))
    sum=0
    print("从大到小排列输出数字:")
    for i in range(number,0,-1):
        sum += i  #设置sum为i的和
        print("%d"%(i),end='')
        if i>1: print("+",end='')  #设置输出连加的算式
        else: print("=",end='')
    print("%d"%(sum))
    

    4.3while循环

    while语句的一般格式为:
    while 条件表达式:
        语句块1
    else:
        语句块2
    

      else指令也是一个选择性指令,可加也可以不加。一旦条件表达式不符合,就会执行else内的语句块2。使用while循环必须小心设置离开的条件,万一不小心形成无限循环,就只能强行中断程序,需同时按Ctrl+C组合键。
      注1.5 循环体的语句块可以是单个语句,也可以是多个语句。当循环体由多个语句构成时,必须用缩进对齐的方式组成一个语句块,否则产生错误。


    图片.png

      程序文件Pex1_4.py

    from math import *   #加载数学模块math的所有对象
    n=0; x1=float(input("请输入角度:"))
    x=radians(x1)
    s=a=x
    while abs(a)>=1e-6:
        a *= -x*x/(2*n+3)/(2*n+2)
        n +=1; s += a
    print("x={},sin(x)={}".format(x1,s))
    

      必须执行循环中的语句至少一次时,由于Python语言没有do while这类的循环指令,可以参考下面范例的做法:
      程序文件Pz1_8.py

    sum=0; number=1
    while True:
        if number==0: break
        number=int(input("数字0结束程序,请输入数字:"))
        sum += number
    print("目前累加的结果为:%d"%(sum))
    

    相关文章

      网友评论

          本文标题:[Python与数学建模-入门使用]-2Python基础知识

          本文链接:https://www.haomeiwen.com/subject/csbglktx.html