一、 输出函数print:
可以将数据输出到文件中:
- 所指定的盘存在
- 使用 file=(fp)自己所定义的
fp = opne('D:/text.txt','a+')#a+:如果文件不存在则创建文件,如果存在则在后面继续追加
print('helloworld',file=fp)#将helloworld输入进fp指定的text.txt中
fp.close()#关闭文件
二、 变量的定义与使用
变量可以直接使用,可以不用定义,也可以多次赋值
id(变量) ----> 是变量的地址
type(变量) ------> 变量的类型
三、数据类型转换
- 字符串内部数字若为小数,则不能转换成整数;
- 字符串内部为非数字,则不能转换成整数或浮点数;
四、input()函数
五、Python运算符
六、选择结构
单分支结构:
#if 条件表达式:
# 条件执行
money = 1000
s = int(input('请输入取款金额'))
#判断余额是否充足
if money >= s:
money = money - s
print('取款成功,余额为:',money)
双分支结构:
#if 条件表达式:
# 条件表达式1
#else:
# 条件表达式2
num = int(input('请输入一个整数'))
#双分支结构
if num%2==0:
print(num,'是偶数')
else:
print(num,'是奇数')
多分支结构:
#if 条件表达式:
# 条件执行体1
#elif 条件表达式2:
# 条件执行体2
#elif 条件表达式N:
# 条件执行体N
#[else:]
# 条件执行体M+1
score = int(input('请输入一个成绩:'))
if score>=90 and score<=100:
print('A级')
elif score>=80 and score<=89:
print('B级')
elif score>=70 and score<=79:
print('C级')
elif score>=60 and score<=69:
print('D级')
else:
print('对不起,成绩有误,不在成绩的有效范围')
嵌套if
#if 条件表达式1:
# if 内层条件表达式:
# 内层条件执行体1
# else:
# 内层条件表达式2
#else:
# 条件执行体
条件表达式(if……else的简写)
#x if 判断条件 else y
pass语句
pass语句什么都不做,只是一个占位符,用到需要写语句的地方。在搭建语法的时候,还没想好代码怎么写,就先利用pass跳过
if语句\for……in循环体
七、循环结构
内置函数range()
#range()函数
# 用于生成一个整数序列
# 创建range对象的三种方式
'''第一种创建方式,只有一个参数'''
#range(stop)
r = range(10) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],默认从0开始,默认相差步长为1
print(r) #range(0,10)
print(list(r)) #用于查看range对象中的整数序列 --->list是列表的意思
'''第二种创建方式,有两个参数'''
#range(begin,stop)
r = range(1,10) #指定了起始值,从1开始,到10结束(不包括10),默认步长为1
print(r) #range(1,10)
print(list(r)) #[1, 2, 3, 4, 5, 6, 7, 8, 9]
'''第三种创建方式,有三个参数'''
#range(begin,stop,step)
r = range(1,10,2) #指定了起始值,从1开始,到10结束,步长为2
print(r) #range(1,10,2)
print(list(r)) #[1, 3, 5, 7, 9]
'''判断整数是否在整数数列中,使用in与not in'''
print(10 in r) #False
print(9 in r) #True
循环结构:反复做同一件事情的情况,称为循环
while循环
#while循环
#while 条件表达式
# 条件执行体(循环体)
'''打印1 - 9的数字'''
a = 1
while a<10:
#条件执行体(循环体)
print(a)
a += 1
'''累加0 - 3的数字'''
i = 0
sum = 0
while i<4:
sum += i
i += 1
print('累加和为:',sum)
for -in循环
#for-in循环
# in表达从(字符串、序列等)中依次取值,又称遍历
# for-in遍历的对象必须是可迭代对象
#for 自定义的变量 in 可迭代对象:
# 循环体
for item in 'Python':
print(item)
'''不使用变量可以用 _ 代替'''
for _ in range(3):
print('back!')
'''输出 1 - 100 之间的偶数和'''
sum = 0
for i in range(101):
if not i%2:
sum += i
print('1到100之间的偶数和:',sum)
'''输出100 - 999之间的水仙花数'''
for i in range(100,1000):
ge = i%10
shi = i//10%10
bai = i//100
if ge**3+shi**3+bai**3 == i:
print(i)
break语句
#break语句
# 强制跳出循环,在for-in \while循环中与配合使用
continue语句
#continue语句
# 强制跳过后续循环,直接进行下部操作,在for-in \while循环中与if配合使用
!!!在二层循环中的break和continue都只在本层使用,即只控制局部循环
else语句
嵌套循环
#嵌套循环
#while :
# for - in:
'''九九乘法表'''
for i in range(1,10):
for j in range(1,i+1):
print(j,'*',i,'=',i*j,end='\t')
print()
八、Python中的列表
列表的特点:
- 列表元素按顺序有序排序
- 索引映射唯一个数据
- 列表可以存储重复数据
- 任意数据类型混存
- 根据需要动态分配和回收内存
列表的创建
- 使用中括号
- 调用内置函数
#创建列表
'''创建列表的第一种方式,使用[]'''
lst = ['hello','world',98]
'''创建列表的第二种方式,使用内置函数list()'''
lst2 = list(['hello','world',98])
查询列表中的数据
利用index()
#创建列表
'''创建列表的第一种方式,使用[]'''
lst = ['hello','world',98,'hello']
'''多个元素进行查找'''
print(lst.index('hello')) #若查询的有多个元素,只反映这些相同元素的首个地址,答案为:0
'''列表中不包含的元素'''
print(lst.index('Python')) ##ValueError: 'hello' is not in list
'''在指定范围内查找'''
print(lst.index('hello',1,3)) #ValueError: 'hello' is not in list
print(lst.index('hello',1,4)) #结果为:3
#若要指定范围查找,后面元素stop不包含于查询范围
获取列表中的多个元素,切片
#获取列表中的多个元素
#列表名[ strat : stop : step ]
#取出的值的范围为 [start,stop)
lst = [10,20,30,40,50,60,70,80]
#start为1,stop为6,步长为1
print(lst[1:6:1])#[20, 30, 40, 50, 60]
#start默认为0,stop默认为整个列表,步长默认为1
print(lst[::])#[10, 20, 30, 40, 50, 60, 70, 80]
#还可以访问负数地址
print(lst[::-1])#[80, 70, 60, 50, 40, 30, 20, 10]
列表元素的遍历
#列表元素的遍历
#for 迭代变量 in 列表名 :
操作
lst = [10,20,'python','hello']
for itme in lst:#依次访问lst列表,取出并放在itme下
print(itme)#打印itme
'''10
20
python
hello'''
列表元素的增加操作
增加操作 | 方法/其他 | 操作描述 |
append() | 在列表的末尾添加一个元素 | |
extend() | 在列表的末尾至少添加一个元素 | |
insert() | 在列表的任意位置添加一个元素 | |
切片 | 在列表的任意位置添加至少一个元素 |
#增删查改
lst = [10,20,30]
lst.append(40) #在列表末尾添加一个元素
print('添加元素之后',lst) #添加元素之后 [10, 20, 30, 40]
lst2 = ['hello','world']
'''
lst.append(lst2)
print(lst) #[10, 20, 30, 40, ['hello', 'world']]实际上只添加了一个元素
'''
lst.extend(lst2) #在列表的末尾至少添加一个元素
print(lst) #[10, 20, 30, 40, 'hello', 'world']
lst.insert(1,90) #在任意位置上添加一个元素
print(lst) #[10, 90, 20, 30, 40, 'hello', 'world']
列表的删除操作
删除操作 | 方法/其他 | 操作描述 |
remove() | 一次删除一个元素 | |
重复元素只删除第一个 | ||
元素不存在抛出ValueError | ||
pop() | 删除一个指定索引位置上的元素 | |
指定索引不存在抛出IndexError | ||
不指定索引,删除列表中最后一个元素 | ||
切片 | 一次至少删除一个元素 | |
clear() | 清空列表 | |
del | 删除列表 |
修改
#修改
lst = [10,20,30,40]
#一次修改一个值
lst[2] = 50
#切片修改
lst[1:3] = [300,400,500,600] #将1,2位置的数字改为300,400,500,600
print(lst) #[10, 300, 400, 500, 600, 40]
列表元素的排序操作
- 调用sort()方法,将所有元素默认按照从小到大的顺序进行排序,可以指定reverse = True,进行降序
- 调用内置函数sorted(),可以指定reverse = True,进行降序排序,原列表不发生改变
lst = [20,30,40,10,13]
print('排序前的列表',lst,id(lst))
#利用sort方法,升序排序
lst.sort()
print('排序后的列表',lst,id(lst))
#通过指定关键字参数,将列表中的元素进行降序排序
lst.sort(reverse = True) #reverse = True是升序,reverse = Flase是降序
print(lst)
print('-----------------使用内置函数sorted()对列表进行排序,将产生一个新的列表对象------------------')
lst = [20,30,40,10,13]
new_list = sorted(lst)
print(new_list)
desc_list = sorted(lst,reverse = True)
print(desc_list)
列表生成式
#列表生成式
#语法格式:
#[ i*i for i in range(1,10)]
#i*i:表示列表元素的表达式
lst = [i for i in range(1,10)]
print(lst)