python实训内容_python实训day2
今天是python实训的第⼆天,在第⼀天的基础上,⽼师教了⼀些基础简单的操作,回去之后我也⾃⼰⼤量练习了,并做了作业1.作业:
实现⼀个登陆程序
代码如下
with open(','w',encoding='utf-8') as f:
3 f.write('⽤户名:lzh,密码:108595.\n⽤户名:lzh,密码:1998.')
4
5 def login():
6 user = ''
7 pwd = ''
8 dict1 = {}
9 with open('','rt',encoding='utf-8')as w:
10 for line in w:
11 line = line.split('\n')[0].split(',')
12 for data in line:
13 if '⽤户名'in data:
14 user = data[4:]
15 else:
16 pwd = data[3:]
17 dict1[user] = pwd
18 while True:
19 user1 = input('请输⼊⽤户名:').strip()
20
21 if user1 in dict1 :
22 i = 1
23 while i <= 3:
24 pwd1 = input('请输⼊密码:').strip()
25 if pwd1 == dict1[user1]:
26 print('登陆成功!')
27 break
28 else:
29 i = i + 1
30 else:
31 print('密码错误超过三次!')
32 else:
33 print('⽤户不存在!')
34 break
35
在线编辑文档36 login()
运⾏结果
请输⼊⽤户名:lzh
请输⼊密码:123
请输⼊密码:111
请输⼊密码:000
密码错误超过三次!
2.学习内容
今天上课讲了很多东西,主要笔记如下
(1)
字典是⽆序的
1. 按照key取/存值
>>>dict = {'name' : 'hy', 'age' : 23, 'sex' : 'male', 'school' : 'ahpu'}
>>>print(dict['school']) #取学校
ahpu
2. get()
>>>('school'))
ahpu
>>>('sal'))
None
>>>('sal','15000')) #第⼀个参数是key,第⼆个参数是默认值,若key存在则取对应值,否则取默认值15000
3. len()
>>>print(len(dict))
4
4. 成员运算in 和not in
使用php软件的视频>>>print('name' in dict)
True
>>>print('sal' in dict)
5. 删除del
>>>del dict['name']
6. pop()
>>>dict1 = dict.pop('name')
>>>print(dict)
sortable获取拖拽后的数据{'age' : 23, 'sex' : 'male', 'school' : 'ahpu'}
>>>print(dict1)
hy
>>>dict.popitem() #随机pop⼀个
>>>print(dict)
{'name' : 'hy','age' : 23,'sex' : 'male'}
7. keys(),values(),items()
>>>print(dict.keys())
dict_keys(['name', 'age', 'sex', 'school'])
>>>print(dict.values())
dict_values([ 'hy', 23, 'male', 'ahpu'])
>>>print(dict.items())
dict_items([('name', 'hy'), ('age', 23), ('sex', 'male'), ('school', 'ahpu')]) 8. 循环for
#循环字典中所有的key
>>>for i in dict:
print(i)
9. update()
>>>dict2 = {'work' : 'student'}
>>>dict.update(dict2)
>>>print(dict)
{'name' : 'hy', 'age' : 23, 'sex' : 'male', 'school' : 'ahpu', 'work' : 'student'}(2)元组(在⼩括号内,以逗号分开)
#元组是不可变类型,赋值后不可变
>>>tuple = (1,2,3,4,5,6)
1. 按索引取值
>>>print(tuple[2])
3
>>>print(tuple[0:6])
(1,2,3,4,5,6)
>>>print(tuple[0:6:2])
(1,3,5)
3. len()
>>>print(len(tuple))
6
4. 成员运算in 和not in
>>>print(1 in tuple)
True
>>>print(1 not in tuple)
False
5. 循环
>>>for i in tuple:python基础代码练习
print(i)
(3)⽂件处理:
#⽂件读写基本使⽤
#对⽂本进⾏操作
#open(参数1 : ⽂件名, 参数2 : 操作模式, 参数3 : 指定字符编码)
# f 称为句柄
# r: read,只读模式,只能读不能写,⽂件不存在时报错。
# w: 只能写,不能读,⽂件存在的时候回清空⽂件后再写⼊内容;⽂件不存在的时候会创建⽂件后写⼊内容。
# a: 可以追加。⽂件存在,则在⽂件的末端写⼊内容;⽂件不存在的时候会创建⽂件后写⼊内容。
# b模式是通⽤的模式,因为所有的⽂件在硬盘中都是以⼆进制的形式存储的,需要注意的是:b模式读写⽂件,⼀定不能加上encoding参数,因为⼆进制⽆法再编码。
#⽂件操作的基础模式有三种(默认的操作模式为r模式):
# r模式为read
# w模式为write
# a模式为append
#⽂件读写内容的格式有两种(默认的读写内容的模式为b模式):
# t模式为text
# b模式为bytes
#需要注意的是:t、b这两种模式均不能单独使⽤,都需要与r/w/a之⼀连⽤。
#打开会产⽣两种资源,⼀种是python解释器和python⽂件资源,程序结束python会⾃动回收
#另⼀种是操作系统打开⽂件的资源,⽂件打开后操作系统不会⾃动回收,需要⼿动回收资源
1. ⽂件读写操作
代码转换毒盘#写⽂件 w
f = open(FilePath, mode = 'wt', encodin
g = 'utf-8') #路径前加 r 可将路径中的转义字符变为普通字符f.write('hello hy!')
f.close() #⽂件资源回收
#读⽂件 r
f = open(FilePath, 'rt', encodin
g = 'utf-8') #默认rt,mode可不写
file = f.read()
print(file)
f.close()
#⽂件追加 a
f = open(FilePath, 'at', encodin
g = 'utf-8') #默认at
f.write('hello yh')
f.close()
#写⽂件与追加的区别:写⽂件是写⼊新⽂件,或覆盖⽂件原有内容,追加是在已有的⽂件内容后⾯添加内容#⽂件处理之上下⽂管理
#with⾃带close()功能,会在⽂件处理结束后⾃动调⽤close()关闭⽂件
#写⽂件
with open(FilePath, mode = 'wt', encoding = 'utf-8') as f:
f.write('life is short, u need python!')
#读⽂件
with open(FilePath, mode = 'rt', encoding = 'utf-8') as f:
file = f.read()
print(file)
#⽂件追加
with open(FilePath, mode = 'at', encoding = 'utf-8') as f:
f.write('life is short, u need python!')
2. 图⽚与视频读写操作
#写⼊图⽚
import requests
pic = (picPath) #可从bing搜索图⽚链接
with open(picPath, 'wb') as f:swap的同义词
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论