1.采用os模块及os.path模块,完成输出一个指定路劲下所有的文件
当碰见文件时打印文件名称,当碰见目录时,则进入目录
使用递归完成
import os
from os import path
file_path = "C:\\Users\\朱\Desktop\\PythonCodes"
def printfile(file_path):
if path.isdir(file_path):#判断是否是文件夹
for i in os.listdir(file_path):#把文件夹里面的内容转为列表遍历
file_path_i = path.join(file_path,i)#用join拼接路径
printfile(file_path_i)
if path.isfile(file_path):#判断是否是文件
print(path.basename(file_path))
printfile(file_path)
2.用户输入一个字符串,统计字符串中各字符出现的次数,并将结果写入本地文件
def CountCharsAndWriteToFile(input_string,filename):# 定义一个函数CountCharsAndWriteToFile,输入是一个字符串和一个文件名
char_count = {}#统计字符串出现次数
for char in input_string: # 遍历输入字符串中的每个字符
if char in char_count: # 如果字符已经在字典中,则增加对应的计数
char_count[char] += 1
else:# 如果字符不在字典中,则添加到字典并初始化计数为1
char_count[char] = 1
# 打开指定的文件,模式设为读写(若文件不存在则会报错)
f = open(filename,"r+")
for char,count in char_count.items():
f.write(f"'{char}' : {count}\n") # 每个条目格式化为“'字符' : 出现次数\n”
input_str = input()# 从用户处获取一个输入字符串
file_path = "test\\testio.text"# 指定要写入的文件路径
CountCharsAndWriteToFile(input_str, file_path)# 调用函数,传入输入字符串和文件路径
print(f"字符统计完成并已写入到文件:{file_path}")# 输出提示信息,告知操作已完成
3.给定一个包含n+1个整数的数组nums,其数字在1到n之间(包含1和n),可知至少存在一个重复的整数 假设只有一个重复的整数,请找出这个重复的数,如[1,2,3,3,4],输出3
def findRepeatNum(nums):# 定义一个函数findRepeatNum,用于寻找列表中的重复数字
repeat = set()# 创建一个空集合repeat,用来存储出现过的数字
for num in nums:# 遍历列表中的每个数字num
if num in repeat: # 如果num已经存在于repeat集合中,说明它是一个重复的数字,直接返回该数字
return num
repeat.add(num)# 如果num还没有出现过,则将其添加到repeat集合中
nums = [1, 2, 3, 3, 4]
print(findRepeatNum(nums))# 调用findRepeatNum函数,并打印找出的重复数字
4.编写控制台登录系统,假设已加密的账号密码存储在本地文件中,文件名为userinfo.text,用户输入账户名及密码,并验证登录,提示是否登录成功
def read_user_info(file_path):
"""从文件中读取用户信息"""
user_info = {}
file = open(file_path,"r+")
for line in file:
username, password = line.strip().split(',')
user_info[username.upper()] = password.upper() # 假设的加密方式:转大写
file.close() # 确保文件被正确关闭
return user_info
def login(user_info):
"""验证用户登录"""
username = input("请输入用户名:").upper()
password = input("请输入密码:").upper()
if username in user_info and user_info[username] == password:
print("登录成功!")
else:
print("登录失败,用户名或密码错误。")
file_path = "userinfo.txt"
user_info = read_user_info(file_path)
login(user_info)