Py学习  »  Python

Python(十一)阶段小结

Lonelyroots • 2 年前 • 263 次点击  

温故而知新,可以为师矣!又到了回顾知识的时间啦,让我带着大家来复习一下函数和文件操作的知识点。主要是通过习题实战,这些都是我以前做过的题目!

'''(1)一个列表由四个元组组成,每个元组都是四个数字,现在要求对这个列表排序,排序的规则是按照每个元组的第二个元素排序'''
"""
排序  sort()  从要排序的数据中,依次把每一个元素单独地取出来,根据不同的规则进行排序
排序规则 key
"""
# li = [(5,7,8,9),(1,2,3,4),(2,2,3,7),(7,8,9,9)]
# def fun(x):
#     return str(x[1])
# li.sort(key = fun)      # key表示排序规则
# print(li)
'''
(2)实现isprime()函数,参数是整数,如果整数是质数返回True,否则返回False
'''
"""
质数:只能被1和自身整除的大于0的整数
"""
# def isprime(x):
#     if type(x) != int:
#         return False
#     elif x<=1:
#         return False
#     else:
#         for i in range(2,x):
#             if x % i==0:
#                 return False
#         else:
#             return True     # 正常执行完,若都不满足,执行else里的语句
# print(isprime(int(input("请输入一个正整数:"))))
'''
(3)定义一个函数,输入字符串,如果字符串是顺序,则返回UP,如果是倒序,则返回DOWN,乱序,返回False
'''
"""sorted 临时排序"""
# def paixu():
#     str1 = list(input("请输入字符串:"))
#     if str1 == sorted(str1):     # 升序,从小到大,reverse默认False
#         print("UP")
#     elif str1 == sorted(str1,reverse=True):       # 倒序,从大到小,reverse改为True
#         print("DOWN")
#     else:
#         print("False")
# paixu()
'''
open(路径)
路径:
    相对路径:上一级../     同层级路径./或不写      下一级路径/
    绝对路径:从磁盘出发
    模式:
        r只读 r+读写模式      不能创建文件
        w写入 w+先清空后写入     能创建文件
        a写入 w+      能创建文件
        b二进制
    编码格式    encoding='UTF8'
open()返回值:返回文件对象本身
read():读取
write():写入
flush():保存
close():关闭
with    上下文函数   执行完代码后,自动关闭文件
'''
'''(4.1)利用datetime模块,批量生成月份每天的txt文件'''
# import datetime
# # import os
# # os.mkdir('date')
# start = datetime.datetime(2021,9,1)
# end = datetime.datetime(2021,9,30)
# print((end - start).days+1)       # 30
# print(start.strftime("%Y-%m-%d"))
# for i in range((end - start).days+1):
#     date = datetime.datetime(2021,9,i+1)
#     n = date.strftime("%Y-%m-%d")
#     with open(r'date/'+str(n)+'.txt','w+',encoding="UTF8") as f:
#         print(f.read())
'''(4.2)生成上面的文件之后,在每一个文件里,放入文件名'''
# import datetime
# # import os
# # os.mkdir('date')
# start = datetime.datetime(2021,9,1)
# end = datetime.datetime(2021,9,30)
# print((end - start).days+1)       # 30
# print(start.strftime("%Y-%m-%d"))
# for i in range((end - start).days+1):
#     date = datetime.datetime(2021,9,i+1)
#     n = date.strftime("%Y-%m-%d")
#     # with open(r'date/'+str(n)+'.txt','w+',encoding="UTF8") as f:
#     #     print(f.read())
#     # with open(r'date/'+str(n)+'.txt','w+',encoding="UTF8") as e:
#     #     e.write(str(n))
'''(4.3)将上面生成的所有文件名之后加上'_NEW'。'''
# import datetime
# import os
# # os.mkdir('date')
# start = datetime.datetime(2021,9,1)
# end = datetime.datetime(2021,9,30)
# print((end - start).days+1)       # 30
# print(start.strftime("%Y-%m-%d"))
# for i in range((end - start).days+1):
#     date = datetime.datetime(2021,9,i+1)
#     n = date.strftime("%Y-%m-%d")
#     # with open(r'date/'+str(n)+'.txt','w+',encoding="UTF8") as f:
#     #     print(f.read())
#     # with open(r'date/'+str(n)+'.txt','w+',encoding="UTF8") as e:
#     #     e.write(str(n))
#     os.rename(r'date/'+str(n)+'.txt',r'date/'+str(n)+'_NEW'+'.txt')
'''(5)假设有一个英文文本文件,编写一个程序读取其内容,并将大写转成小写,小写转成大写'''
with open('英文文本文件.txt','r+',encoding='UTF8') as f:
    f.seek(0)
    str = f.read()
    print(str)
    f.seek(0)       # 将光标再次前移,进行转换
    f.write(str.swapcase())      # str.swapcase()大写转小写,小写转大写
    f.flush()

文章到这里就结束了!希望大家能多多支持Python(系列)!六个月带大家学会Python,私聊我,可以问关于本文章的问题!以后每天都会发布新的文章,喜欢的点点关注!一个陪伴你学习Python的新青年!不管多忙都会更新下去!一起加油!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/121011
 
263 次点击