当前位置: 代码迷 >> 综合 >> Python 3 学习指南
  详细解决方案

Python 3 学习指南

热度:127   发布时间:2023-09-12 16:30:39.0

Python 3 学习指南

  • Python 3 学习指南
  • 语法部分
    • 基础语法
    • 基本数据类型
      • 数字类型
        • 类型查看
        • 删除操作
        • 数值运算
      • String(字符串)
        • Index 索引与操作
        • 格式化输出
        • 循环遍历
      • List(列表)
      • Tuple(元组)
      • Set(集合)
      • Dictionary(字典)
        • 输出操作
      • 类型转换
    • 运算符
      • 基本运算符
      • 逻辑运算符
      • 成员运算符
      • 身份运算符
  • 二、数据类型与函数
    • Number(数字)
      • 数学函数
      • 随机数函数
    • String(字符串)
      • 内置字符串函数
      • 字符串的格式化函数
    • List(列表)
      • 脚本型操作
      • 内置列表函数
    • Tuple(元组)
    • Set(集合)
      • 集合内置函数
    • Dictionary(字典)
      • 内置字典函数
      • 字典注意事项
  • 三、控制语句
    • 条件控制
      • if语句
    • 循环控制
      • while循环
      • while-else循环
      • for循环
      • break,continue,pass语句
  • 进阶部分
    • 迭代器与生成器
      • 迭代器
      • 生成器
    • 函数
      • 定义与声明
      • 参数传递性
      • 参数的类型
      • 全局变量与局部变量
    • 模块
      • import 语句
    • 输入输出控制
      • 从键盘输入
      • format格式输出
    • 文件操作
      • open操作
      • 文件对象函数
    • 异常处理
      • 常见的异常分类
      • 异常处理语法

语法部分

基础语法

标识符
1)由字母、数字下划线组成,且大小写敏感。
2)查看保留字可以用 keyword.keylistkeyword.keylist

注释
1)单行注释用#。
2)多行注释用”’(三个单引号)包含起来。

多行语句
1)如果多行语句可以在行末加上 \ ,若是在[ ],{ },( )内的语句,不需要 \ 。
2)若果需要在一行写多条语句,需要在行末加分号。

print用法
printprint 默认输出是换行的,如果需要不换行,print(a,end=” “)。

基本数据类型

Python3Python3中有多种数据类型,包括数字,字符串,列表,元组,集合,字典

赋值
1)多变量赋一个值 a=b=c=1a=b=c=1
2)多变量赋不同值a,b,c=1,2,"pengwill"a,b,c=1,2,"pengwill"

数字类型

Python3Python3 支持 intfloatboolcomplexint、float、bool、complex(复数)。

类型查看

1)可以用type()type()函数查看变量的对象类型。
2)或者用isinstance(a,int)isinstance(a,int)来查看对象类型。

>>> a=100
>>> print(type(a))
<class 'int'> >>> isinstance(a,int) Ture

区别在于:
1)type()type()不会认为子类是一种父类类型。
2)isinstance()isinstance()会认为子类是一种父类类型。

删除操作

1)可以用deldel + 变量名,来删除一个变量。
2)如若删除多个变量,用逗号分割开。

数值运算

>>> 5+3     # 加法
>>> 4.0-3   # 减法
>>> 4.0*5   # 乘法
>>> 100/3   # 除法,得到浮点数
>>> 100//3  # 除法,得到整数
>>> 100%3   # 取余
>>> 100**3  # 乘方 

值得注意的是,在混合计算的时候,Python会把整数转换成浮点数进行运算。

String(字符串)

Index 索引与操作

1)字符串的索引值从0开始,-1表示倒数第二个。
2)+ 符号表示字符串的连接,* 字符表示字符串的复制次数(后面跟数字)。
3)PythonPython中的字符串用单引号或双引号括起来,同时使用反斜杠()转义字符。
4)PythonPython中的字符串不能发生改变,如str[0] = ‘a’会出错。

str = "pengwill"
print(str)              # 直接输出字符串
print(str[0:-1])        # 输出从第0个字符 到 倒数第2个字符
print(str[2:])          # 输出从第3个字符到末尾
print(str*2)            # 输出str两遍
print(str + "hello")    # 连接两个字符串
len(str)                # 求解字符串长度

格式化输出

使用类似C语言的输出方法。
1)基本形式为:print (“%s %d” % (‘abc’, 10))
2)格式字符串同C语言,字符为%c,字符串%s,整数%d,浮点数%f,八进制%o,十六进制%x,科学计数法%e。
3)在字符串前加r/R表示原始字符串,原样输出。

循环遍历

使用此方法可以循环遍历字符串中的每一个字符

str = "pengwill"
for letter in str:dosomething

List(列表)

1)列表中的元素可以是任何数据类型,包括列表自身(嵌套)。
2)列表要用方括号[ ] 括起来,表示这是一个列表。
3)Index索引操作与字符串一致。
4)列表中的元素可以进行修改
5)列表元素的删除,可以采用list[sta:end+1]= [ ]list[sta:end+1]=[] 的方法。
6)求解列表长度可以用len()len()方法。
7)列表中每个元素循环的方式同字符串。

Tuple(元组)

1)与list类似,不同之处在于元组不能修改,且需要用小括号( )
2)构造一个空元组 tup1=()tup1=()
3)构造一个元素的元组tup2=(20,)tup2=(20,),后面的逗号不能省略。
4)当需要函数返回多个参数的时候,实际是以元组形式返回的。

Set(集合)

1)集合中不允许包含重复元素。
2)可以用大括号{}或者set(),来创建一个集合,但是空集合必须使用set()来创建,因为空的{}表示创建一个空字典。

list1 =["a","b","c","d"] 
a = set(list1)
b = set(list1[0:3])
print(a - b) # a和b的差集
print(a | b) # a和b的并集
print(a & b) # a和b的交集
print(a ^ b) # a和b中不同时存在的元素

Dictionary(字典)

1)字典类似于c++STLc++STL里的mapmapkey和value一一对应,但keykey并不是有序排列的。
2)字典用大括号{ },并且键与值之间要用冒号 : 连接,不同元素之间用逗号 , 分隔。
3)keykey不可以修改,且keykey唯一
4)创建空字典用 dict={ }dict={}

输出操作

dict = {
   "mydic":1,"yourdic":2}
print(dict)             # 输出完整的字典
print(dict.keys())      # 输出所有key
print(dict.values())    # 输出所有的value
print(dict["mydic"])    # 输出key为mydic的value

类型转换

语法 作用 解释
int(x,base)int(x,base) 将字符串或整数转换为整数 xx为字符串或数字, b a s e 为进制,默认十进制
float(x)float(x) 将字符串或者整数转换为浮点数 其中xx为字符串或者数字
s t r ( x ) 将对象转换为字符串 xx为一个对象
e v a l ( s t r ) 计算字符串中的有效PythonPython表达式 strstr为一个字符串类型计算表达式
tuple(x)/list(x)tuple(x)/list(x) xx转换为元组/列表 x 可为一个list/tuplelist/tuple
ord(x)ord(x) 将字符xx转换为对应整数值 ( A S C I I ) xx为单个字符
h e x ( x ) 将整数xx转换为一个十六进制字符串 x 为一个整数
oct(x)oct(x) 将整数xx转换为八进制字符串 x 为一个整数

运算符

基本运算符

1)算数运算符、比较运算符、 赋值运算符、位运算符和C语言一致。
2)不同的是: ???? (两个乘号)表示次幂运算//// (两个斜线)表示整除运算

逻辑运算符

运算符 表达式 解释 例子
andand a and baandb 布尔与,当aa F a l s e 时返回FalseFalse,否则返回bb的值 1   a n d   2 = 2
oror a or baorb 布尔或,当aa T r u e 返回xx的值,否则返回 b 的值 1 or 2=11or2=1
notnot not xnotx 布尔非,返回非xx n o t ( 1   a n d   2 ) = F l a s e

成员运算符

运算符 解释 例子
inin 若对象在指定序列里,返回TrueTrue,否则返回FasleFasle,常用于循环 for letter in wordlistforletterinwordlist
not innotin 若对象不在指定序列里,返回TrueTrue,否则返回FalseFalse \

身份运算符

比较两个对象是否为一个存储单元的内容。
id(x)id(x)用于获取对象xx的内存地址编号。

运算符 解释 例子
i s id(a)==id(b)id(a)==id(b)返回TrueTrue,否则返回FalseFalse a is baisb is notisnotid(a)!=id(b)id(a)!=id(b)时返回TrueTrue,否则返回FlaseFlase a is not baisnotb

二、数据类型与函数

Number(数字)

数学函数

有些数学函数需要引入mathmath模块,而有些却不需要。

不需要引入mathmath模块的函数:
1)abs(x)abs(x):返回xx的绝对值,为整型,但是我发现根据对象不同也会返回浮点型。
2) m a x ( x 1 x n ) :返回最大值,参数可以为列表。
3)min(x1xn)min(x1…xn):返回最小值,参数可以为列表。
4)round(x,n)round(x,n):返回浮点数xx n 位小数四舍五入的结果。

需要引入mathmath模块的函数:
1)math.modf(x)math.modf(x):分别返回浮点数xx的小数部分和整数部分,返回值为元组
2) m a t h . c e i l ( x ) / m a t h . f l o o r ( x ) :返回上取整 / 下取整的结果,返回值为整数。
3)math.log(x)/math.log10(x)math.log(x)/math.log10(x):返回以e/10e/10为底的对数,返回值为浮点数。
4)math.exp(x)math.exp(x):返回exex,返回值为浮点数。
5)math.sqrt(x)math.sqrt(x):返回x12x12,返回值为实数。
6)math.fabs(x)math.fabs(x):返回xx的绝对值,返回值为浮点数。

还有一些三角函数,有兴趣可以查阅相关资料。

随机数函数

以下函数都需要引入 r a n d o m 模块。
1)random.shuffle(x)random.shuffle(x):将xx序列中的元素随机排列。
2) r a n d o m . c h o i c e ( x ) :从xx序列中随机挑选一个元素。
3) r a n d o m . u n i f o r m ( x , y ) :随机生成一个在[x,y][x,y]内的实数。
4)random.randrange(sta,end,step)random.randrange(sta,end,step):在[sta,end)[sta,end)范围内每stepstep的整数中,随机选择一个数字,默认stepstep为1。

import random
card = list(range(55))      # 产生一个0-54的序列
random.shuffle(card)        # 打乱序列
print(random.choice(card))  # 随机选一个数字输出
print(random.uniform(1,20)) # 从[1,20]中随机选一个实数输出
print(random.randrange(1,100,2)) # 从[1,100) 中随机选一个奇数输出

String(字符串)

内置字符串函数

这里默认字符串函数对象为strstr

1)len(str)len(str):返回字符串长度。
2)max(str)/min(str)max(str)/min(str):返回字符串中ASCIIASCII最大/最小的字母。
3)str.upper()/str.lower()str.upper()/str.lower():将字符串转化为大写/小写字母。
4)str.isalnum()/str.isalpha()/str.isdigit()/str.isupper()/str.isspace()str.isalnum()/str.isalpha()/str.isdigit()/str.isupper()/str.isspace():判断字符串是否只是数字和字母 / 只是字母 / 只包含数字 / 只包含大写字母 / 只包含空白。
5)str.encode(UTF?8)str.encode(”UTF?8”):将目标字符串转化为指定编码格式。
6)str.find(substr,sta,len)str.find(substr,sta,len):从strstr中长度为[sta,sta+len)[sta,sta+len)中查找是否含有substrsubstr,若有返回索引值,否则返回-1,stastalenlen可省略。
7)str.split("substr",times)str.split("substr",times):以substrsubstr为分割符,分割timestimes次,返回值为元组。
8)str.capitalize()str.capitalize():将字符串第一个字母大写。

字符串的格式化函数

请移步至4.4.2 format格式输出

List(列表)

脚本型操作

可以方便的进行一些简单的操作,这里假定mlist=[0,1,2]mlist=[0,1,2]ylist=[4,5]ylist=[4,5]
1)组合操作 mlist+ylistmlist+ylist
操作结果:[0,1,2,4,5][0,1,2,4,5],注意结果和组合的顺序有关。
2)重复操作 ylist?2ylist?2
操作结果:[4,5,4,5][4,5,4,5]
3)迭代操作 for x in ylist;print(xend=" ");forxinylist;print(x,end="");
操作结果:4 5

内置列表函数

假定列表对象为listlist

1)list.append(x)list.append(x):在listlist末尾追加对象xx
2) l i s t . c o u n t ( x ) :统计listlist中对象xx出现的次数
3) l i s t . i n s e r t ( i n d e x , x ) :在indexindex后面插入对象xx
4) l i s t . p o p ( ) :删除最后一个元素。
5)list.remove(x)list.remove(x):删除第一个符合对象xx的元素。
6) l i s t . r e v e r s e ( ) :将列表逆置。
7)list.sort([func])list.sort([func]):按照funcfunc的方法对列表排序,省略为升序,降序排列参数为reverse=Truereverse=True
8)list.clear()list.clear():清空。

Tuple(元组)

可以理解为不能改变的列表。
操作请参见ListList的脚本型操作(2.3.2节)。

Set(集合)

集合内置函数

假定集合对象为ss

1) s . a d d ( x ) :将xx加入到集合 s 中。
2)s.update(x)s.update(x):将集合xx合并到原集合 s 中。
3)s.remove(x)s.remove(x):将元素xx从集合中移除,若不存在会引发错误。
4) s . u n i o n ( x ) :返回集合ss与集合 x 的并集 或 用 s|xs|x
5)s.intersection(x)s.intersection(x):返回集合ss与集合 x 的交集 或 用 s&xs&x
6)s.difference(x)s.difference(x):返回集合ss对于集合 x 的补集 或 用 s?xs?x
7)s.symmetricdifference(x)s.symmetricdifference(x):返回集合ss于集合 x 的对称差集 或 用s^xs^x
8)s.issubset(x)s.issubset(x):判断ss是否是 x 的子集。
9)s.issuperset(x)s.issuperset(x):判断ss是否是 x 的父集。

Dictionary(字典)

内置字典函数

在字典中clear(),copy()clear(),copy()操作与列表操作一致。

假定字典对象为dictdict,给出一些操作及其含义。

1)dict.popitem()dict.popitem():删除ditcditc末尾的键值对。
2)dict.pop(x)dict.pop(x):删除键为xx的键值对,返回为键为 x 的值。
3)dict.items()/dict.keys()/dict.keys()dict.items()/dict.keys()/dict.keys():返回dictdict中的键值对/键列表/值列表。
4)dict.get(x)dict.get(x):查找键为x的值,若不存在返回NoneNone
5)dict.updata(dict2)dict.updata(dict2):将ditc2ditc2的键值对更新到ditcditc中。

字典注意事项

1)字典中值可以是任何对象,但键不可以。
2)由于键不可变的特性,故键只能是数字,字符串或者元组
3)字典中键满足互异性

三、控制语句

条件控制

if语句

基本语法

if condition_1 :dosomething_1
elif condition_2:dosomething_2
else:dosomething_3

循环控制

while循环

基本语法

while condition:dosomething_1dosomething_2dosomething_3

while-else循环

基本语法

while condition:dosomething_1dosomething_2
else:dosomething_3

当不满足whilewhile循环条件的时候,将进入elseelse语句块。

for循环

基本语法

for var in sqe:dosomething_1
else:dosomething_2# 也可以使用range函数
for i in range(5):      # 循环[0,4]dosomething_3
for j in range(5,9):    # 循环[5,8]dosomething_4
for k in range(1,10,2): # 循环[1,9] 且步长为2dosomething_5

break,continue,pass语句

break
forforwhilewhile循环中终止,若其后又elseelse语句块,不执行。

continue
跳过本轮循环,直接进行下一轮循环。

pass
不执行任何动作,起占位作用,保持思维和代码的完整性。

进阶部分

本部分介绍关于迭代器与生成器,函数的参数与返回值,文件操作,读入输出操作,以及异常处理等问题。

迭代器与生成器

迭代器

在使用方面,Python3Python3的迭代器与C++C++的迭代器并无太大差异。基本作用均为遍历序列。值得注意的是,迭代器只能向前访问,不能向后访问。
迭代器的基本形式有两种,分别为iter()iter()next()next()

# 使用iter
mylist = [1,2,3,4,5,6,7]
it = iter(mylist)
for x in it:print(x)
# 使用next
import sys
mylist = [1,2,3,4,5,6,7]
it = iter(mylist)
while True:try:print(next(it))except StopIteration:sys.exit()

生成器

emmm…生成器还需要好好理解,先挖个坑,回来再填。

函数

定义与声明

1)函数由关键字defdef定义,后面接着函数名称,和用( )()括起来的参数表列。
2)函数体由::冒号开始, r e t u r n 终止,并用缩进表示函数体的所属关系。
3)returnreturn结束函数,返回值可以是一个对象,可以是序列,没有返回值默认为NoneNone

import math
def cal(x1,y1,x2,y2): # 计算两点之间的距离return math.sqrt( (x1-x2) ** 2 + (y1-y2) ** 2 )

参数传递性

Python3Python3中分为可更改对象(mutable)(mutable)不可更改对象(immutable)(immutable)
1)不可更改对象有:String,Tuple,NumberString,Tuple,Number
2)可更改对象有:List,DictionaryList,Dictionary

参数传递的方式,根据对象的可更改性来决定。
1)参数为可更改对象:相当于C++C++中的引用传参,在函数内部更改值对对象有作用。
2)参数为不可更改对象:相当于C++C++中的值传参,将值拷贝一份传递给函数内部,所以函数内部修改对外部没有效果。

参数的类型

Python3Python3参数分为必须参数关键字参数默认参数不定长参数
1)必须参数:按照顺序传入的参数,调用时的数量顺序必须和声明时一致,否则会出现语法错误。
2)关键字参数:即在调用函数的时候,指明是哪个参数,因此可以忽略传参的顺序
3)默认参数:在声明的时候,指明参数的默认值,若没有传入该参数,为默认值。默认参数要放到参数表列最后
4)不定长参数:在声明时,变量前有个??号,当没有传入参数的时候,为空元组。

# -----必须参数-----
def show(a):print(a+1)
show(9)                             # 参数不能忽略
# -----关键字参数-----
def show(name,score):print(name+" "+str(score))
show(score = 100,name = "pengwill") # 在调用时指明了参数,忽略参数顺序
#-----默认参数-----
def show(score,name = "pengwill"):print(name+" "+str(score))
show(score = 150)                   # 在调用时指明了参数,忽略参数顺序
#-----不定长参数-----
def show(score1,*score):print(score1)for x in score:print(x)
show(1,2,3,4,5)                     # 传入了多个参数

全局变量与局部变量

变量的作用域 C + + 几乎一样。
1)全局变量:定义在函数外的变量为全局变量,有全局作用域。
2)局部变量:定义在函数内部的变量为局部变量,有局部作用域。

如果需要在函数内部修改全局变量,或者在嵌套结构内修改结构外变量,就要涉及到global,nonlocalglobal,nonlocal关键字。
1)globalglobal:声明后可以在任何位置修改全局变量。
2)nonlocalnonlocal:声明后可以在嵌套内部修改外部变量 。

#-----global-----
num = 100
def change():global num              # 不声明会报错print(num); num = 10; print(num);
change()
#-----noncal-----
def change(*score):base = 0.5def printer(score):     # 函数内部定义函数for x in score: nonlocal base   # 不声明会报错base+=0.01print(base*x)printer(score)
change(100,110,120)

模块

模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。

import 语句

解释器遇到importimport语句,就会当将前目录中对应的.py.py文件导入,应该将importimport语句放在程序的顶端。
1)直接使用importimport语句,可以导入对应.py.py文件的所有函数,并执行主程序。如果不想执行主程序,要使用__name____name__属性。
2)可以使用from...import...from...import...语句,导入对应.py.py文件的一个或者多个函数,并执行主程序。

# test.py
def out():print("I know you are from outside")
def judge():print("judging")
def out():print("I know you are from outside")
def judge():print("judging")
if __name__ == '__main__':  # 当直接运行本文件的时候,输出indeedprint("indeed")
else:                       # 当从外部调用本文件的时候,不做任何操作pass
# test2.py
import test                 # 亦可采用from...import...的方法
test.out()
test.judge()

等待填坑

输入输出控制

从键盘输入

Python3提供从键盘输入的方法input()函数。其读入的结果为字符串。

str = input("请输入\n")
print("输入的是",str)

format格式输出

Python3Python3中可以使用formatformat函数,解析输出,方便的连接不同类型的变量或内容。

基本语法为:“{ }的成绩分别是:{ },{ },平均分是{}”.format(“pengwill”,”100”,”0”,”50.0”)
1)字符串部分的{ },可以理解为C语言的占位符,与formatformat中的内容按顺序一一对应。
2)若要不想按顺序,可以在字符串部分的{ }中写入序号,从0开始,表示与后面formatformat中对应的内容。
3)若想在字符串部分输出大括号,写两层大括号{ { } }表示。
4)在字符串部分的{ },还可以添加格式控制标记。规则如下:{ :<填充> <对齐> <宽度> , <.精度> <类型>}。
5)<填充>:在宽度大于字符串长度或者数字串长度的时候,用何种符号填补。默认为空格。
6)<对齐>:有三种方式。< 表示左对齐,>表示右对齐,^表示居中对齐。
7)<宽度>:字符输出的宽度。
8)一个逗号,:数字的千位分隔符,对整数或者浮点数有效。
9)<精度>:浮点数的精度或者是字符串的最长长度。
10)<类型>:整数或者浮点数的格式控制规则,整数包括6种:b-二进制,c-整数对应的Unicode字符,d-十进制,o-八进制,x-小写十六进制,X-大写十六进制。 对于浮点数包括4种:e-小写字母的指数形式,E-大写字母的质数形式,f-浮点数标准形式,%f-浮点数的百分数形式。

文件操作

open操作

open()open()会返回一个filefile对象,基本语法为:open(filename,mode)open(filename,mode)
其中filenamefilename为文件名,modemode为打开文件的模式,具体看下表。

模式 描述
rr 只读模式。如果文件不存在,将产生错误。
w 只写模式。如果文件不存在则自动创建文件。否则重新写文件。
aa 只写模式,并且将内容写到文件的末尾。
r b 只读二进制文件,如果文件不存在,将产生错误。
wbwb 只写模式,写二进制文件,如果文件不存在则自动创建
abab 附加二进制到文件末尾。
a+a+ 读写文件,如果文件存在则追加到末尾,否则创建新文件。

文件对象函数

假定已经打开一个文件对象为filefile

1)file.read(size)file.read(size):读取一个文件的内容,作为字符串返回。参数sizesize可选,表示数据规模,默认为文件全部内容。
2)file.readline()file.readline():从文件中读取单独的一行,如果读到文件的末尾,返回空字符串。
3)file.readlines()file.readlines():从文件中读取所有的行,以列表形式返回。
4)file.write(str)file.write(str):将str的内容写入文件,返回写入的字符数目。
5)file.tell()file.tell():返回文件所处的位置。
6)file.close()file.close():关闭文件对象,若重复关闭,则会抛出异常。

异常处理

常见的异常分类

Exception 所有异常的基类
AttributeError 特性应用或赋值失败时引发
IOError 试图打开不存在的文件时引发
IndexError 在使用序列中不存在的索引时引发
KeyError 在使用映射不存在的键时引发
NameError 在找不到名字(变量)时引发
SyntaxError 在代码为错误形式时引发
TypeError 在内建操作或者函数应用于错误类型的对象是引发
ValueError 在内建操作或者函数应用于正确类型的对象,但是该对象使用不合适的值时引发 ZeroDivisionError 在除法或者摸除操作的第二个参数为0时引发

异常处理语法

异常处理的结构有很多种,基本上室友try...except...try...except...结构组成。

1)首先执行trytry内语句块,若发现异常,转至其后的exceptexcept
2)若在exceptexcept中找到对应的异常类型,则执行其exceptexcept后的语句块。若exceptexcept后没有跟异常类型,表示捕捉一切异常。
3)若其后还有elseelse,则表示在没有异常时继续执行,可以执行文件释放等操作。
4)finallyfinally语句的含义为,无论是否出现异常,都会执行其语句块的内容。

如果想要主动抛出异常,可以用raiseraise语句。
基本语法为:raiseraise + 异常类型 ("str")("str")

当然也可以继承ExceptionException类来自定义自己的异常。

相关文章

Python 3 学习指南

第2章 C++简单程序设计 难点

第2章 C简单程序设计 难点 VC与C的区别 VC是IDE&#xff08;集成开发环境&#xff09;&#xff0c;而C是一种面向对象编程的语言。 基本数据类型范围 类型名长度&#xff08;字节&#xff09;取值范围bool1false&#xff0c;truechar1?27?27?1?27?27?1unsigned char1…
阅读更多...
Python 3 学习指南

Travel With Haskell 1 — Haskell环境配置与编辑器安装

Travel With Haskell 1 — Haskell环境配置与编辑器安装 Haskell环境配置 在 https://www.haskell.org/downloads 中的 Downlaods中下载Haskell PlatForm&#xff0c;下载完成后一路安装即可。 安装成功后&#xff0c;环境就配置好了。 可以打开cmd&#xff0c;输入stack查看…
阅读更多...
Python 3 学习指南

Travel With Haskell 2 — 运算与List初步

Travel With Haskell 2 — 运算与List初步 Travel With Haskell 2 — 运算与List初步运算运算符简单的内置函数Haskell的if语句格式 ListList的合并List的索引List的函数Range方法 运算 运算符 运算符大同小异&#xff0c;下面是几点需要注意的。 乘方符号为 ????不等号…
阅读更多...
Python 3 学习指南

POJ 2080 ZOJ 1256 日期计算实例

POJ 2080 题意分析 输出 2000年1月1日后 n 天后的日期与星期。 首先算整年&#xff0c;在整年不满足的情况下&#xff0c;计算整月&#xff0c;在月不满足的情况下&#xff0c;计算天数。最后求和&#xff0c;即是日期。根据2000年1月1日式星期天&#xff0c;设定wstr星期字…
阅读更多...
Python 3 学习指南

数据结构实验1— 线性表、链表的实现

实现顺序表各种基本操作实验要求程序代码运行结果 实现单链表各种基本操作实验要求程序代码运行结果 约瑟夫环问题实验要求问题描述基本要求测试数据 程序代码运行结果 实现顺序表各种基本操作 实验要求 编写程序实现顺序表的各种基本运算&#xff0c;并在此基础上设计一个主…
阅读更多...
Python 3 学习指南

数据结构实验2-栈和队列

实现顺序栈的基本运算实验要求程序代码运行结果 实现链栈基本运算实验要求程序代码运行结果 实现循环队列的基本运算实验要求程序代码运行结果 实现链队列的基本运算实验要求程序代码运行结果 实现顺序栈的基本运算 实验要求 编写一个程序&#xff0c;实现顺序栈的各种基本运…
阅读更多...
Python 3 学习指南

数据结构实验3-串和数组

串的模式匹配运算实验要求程序代码运行结果 数组的操作实验要求要求 程序代码运行结果 串的模式匹配运算 实验要求 编写一个程序&#xff0c;实现顺序串的各种模式匹配运算&#xff0c;并在此基础上设计主程序完成如下功能&#xff1a; &#xff08;1&#xff09;建立目标串…
阅读更多...
Python 3 学习指南

数据结构实验4-树与二叉树先序/中序/后续遍历

实验要求程序代码运行结果 实验要求 任务1&#xff1a;以算法6.4创建二叉树的存储结构&#xff0c;树的具体形态自定。 任务2&#xff1a;对任务1中的二叉树分别实现先序、中序、后序遍历&#xff08;递归实现&#xff09;和中序遍历的非递归实现以及层序遍历&#xff1b; 任…
阅读更多...
Python 3 学习指南

数据结构实验6-图算法 最小生成树 BFS与DFS

实验要求 编写一个程序&#xff0c;实现图的相关运算&#xff0c;并在此基础上设计一个主程序&#xff0c;完成如下功能&#xff1a; 建立如教材图7.所示的有向图G的邻接矩阵&#xff0c;并分别输出顶点表和邻接矩阵。在图G的邻接矩阵存储表示基础上&#xff0c;实现深度优先…
阅读更多...
Python 3 学习指南

数据结构实验7-有向图的邻接表与Dijkstra

实验要求 编写一个程序&#xff0c;实现图的相关运算&#xff0c;并在此基础上设计一个主程序&#xff0c;完成如下功能&#xff1a; 设计并实现有向图的邻接表表示实现Dijkstra算法。输出Dijkstra中从目标起点到各顶点的最短路径 程序代码 #include <iostream> #inc…
阅读更多...
最新文章