美文网首页
[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