部分作业解析
# 1.输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)
# 例如: 输入**'abcd1234 ' ** 输出**'bd24'**
str1='abcd1234 '
str2=''
for i in range(1,len(str1),2):
str2+=str1[i]
print(str2)
# 运行结果:bd24
# 2.输入用户名,判断用户名是否合法(用户名长度6~10位)
str1 = 'fghjfgh'
result = '合法' if 6 <= len(str1) <= 10 else '不合法'
print(result)
# 运行结果:合法
# 3.输入用户名,判断用户名是否合法(用户名必须包含且只能包含数字和字母,
# 例如: **'abc'** — 不合法 **'123'** — 不合法 **'abc123'** — 不合法 **'Abc123ahs'** — 合法
name_str ='Fghjk45'
for i in name_str:
if 'a' <= i <= 'z' or 'A' <= i <= 'Z' or '0' <= i <= '9':
continue
else:
print('不合法')
break
else:
print('合法')
# 运行结果: 合法
# 4.输入用户名,判断用户名是否合法(用户名必须包含且只能包含数字和字母,并且第一个字符必须是大写字母)
# 例如: **'abc'** — 不合法 **'123'** — 不合法 **'abc123'** — 不合法 **'Abc123ahs'** — 合法
str1 = 'shj4567'
num = 0
if 'A' <= str1[0] <= 'Z' and len(str1) > 1: # 判断首字母是否是大写,且是否大于1位数字
for i in str1[1:]: # 从第二个数字进行遍历
if '0' <= i <= '9':
num += 1
elif 'a' <= i <= 'z' or 'A' <= i <= 'Z':
continue
else:
print('不合法')
break
else:
result = '合法' if num else '不合法'
print(result)
else:
print('不合法')
# 运行结果:不合法
#7.输入一个小于1000的数字,产生对应的学号
# 例如: 输入**'23'**,输出**'py1901023'** 输入**'9'**,
# 输出**'py1901009'** 输入**'123'**,输出**'py1901123'**
# 构造器 str()
num = 4
stu_id = 'py190' + str(1000 + num)
print(stu_id)
stu_id = 'py1901{:0>3}'.format(num)
print(stu_id)
# 运行结果:py1901004
# 9输入字符串,将字符串的开头和结尾变成'+',产生一个新的字符串
# 例如: 输入字符串**'abc123'**, 输出**'+bc12+'**
# 直接用字符串拼接
str6='fghjk345'
print('+'+str6[1:-1]+'+')
# 11.获取两个字符串中公共的字符
# 例如: 字符串1为:**abc123**, 字符串2为: **huak3** , 打印:**公共字符有:a3**
str1="abc1233"
str2='huak3'
str3=''
for i in str1:
if i in str2 and i not in str3:
str3+=i
print(str3)
# 运行结果:a3
文件操作
数据持久化,可以将数据从瞬间状态转化为持久状态
open(参数1,参数2,参数3)
– 打开文件,打开的是一个文件对象
参数1:路径和文件名
参数2:文件的打开方式(读和写)
参数3:文件打开的编码形式: utf-8 (万国码,图片音频视频可以不加)
参数1
语法: .
表示当前文件夹(可以省略不写);..
表示返回上一级
文件夹和文件夹之间,以及文件夹和文件之间需要使用\
间隔
路径存在相对路径和绝对路径
相对路径:以当前参照物为基础,另一个文件相对于参照物应该使用/
绝对路径:以磁盘为参照物,使用\
参数2
参数2:r,a,w,+ —文件编辑方式 t,b----文件展示形式
t:文本(可以不写,默认) b:字节
r:只读,如果文件不存在,报错
a:只写,文件不存在,先自动创建;如果文件存在,先清空。(如果文件夹不存在,不会创建新文件夹)
+:可读可写,一般不用
参数3
encoding=‘utf-8’ 万国码 一般都填这个
所有的文件在内存中都是以二进制性质保存的
文件的写操作
f = open('./test/咏鹅.txt','w',encoding='utf-8') # 先打开对应文件位置
str_1='\t咏 鹅\n\t骆宾王\n鹅鹅鹅,曲项向天歌。\n' \
'白毛浮绿水,红掌拨清波。'
f.write(str_1) # 进行写的操作
# f = open('./test/咏鹅.txt','w',encoding='utf-8')
f.write(str_2) # 输入多个write 需要\n 换行
f.write(str_3)
f.close() # 操作完成之后,关闭文件
文件的读操作
f=open('./test/咏鹅.txt','r',encoding='utf-8') # 打开相对应的文件位置
# read():一次性读所有内容, 结果为字符串
# print(f.read())
# readline() :一次读一行,结果为字符串
print(f.readline())
# readlines():一次读全部内容,每一行内容作为列表中的一个元素,输出结果为列表
print(f.readlines())
f.close()
图片的读写操作
# 读取图片
f1=open('./test/tup.jpg','rb') # 打开对应位置
result=f1.read()
print(result)
f1.close()
# 下载图片
f2=open('./test/photo.jpg','wb')
f2.write(result)