栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python笔记本配置(python笔记本电脑能用吗)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python笔记本配置(python笔记本电脑能用吗)

接着昨天的文件操作,还有一些结尾的东西。
1.混合文件操作:
先看一下我操作的文件,后面的很多操作都在这个文件下进行的:

这是我乱编的一个文本文件,以下操作就是对这个文件进行的。

# w+:写读   r+:读写,写在文件后面   a+:追加读
f = open("小姐姐联系方式", "r+")
print(f.read())
print(f.tell())  # 237
f.seek(f.tell())  # 不加会默认在文件后直接加
f.write("哦买嘎")  #运行程序"小姐姐"文本后面就添加了 哦买嘎 

这里只操作了常用的"r+",感兴趣的可以自己练一练另外两个。

2.文件修改:

#  文件修改:不是覆盖,而是往后挤
f = open("小姐姐联系方式", "r+")

# 1. 加载到内存
data = f.read()
new_data = data.replace("岳妮妮", "haha") #运行后,文本里的岳妮妮被haha替换

# 2.清空文件
f.seek(0)
f.truncate()  # 截断文件

# 3. 把新内容写回硬盘
f.write(new_data)
f.close()

3.练习:全局检索替换

#全局文本检索替换脚本
import sys

print(sys.argv)
old_str = sys.argv[1]
new_str = sys.argv[2]
filename = sys.argv[3]
# 1. 加载到内存
f = open(filename, "r+")
data = f.read()
# 2. 计数和替换
old_str_count = data.count(old_str)
new_data = data.replace((old_str, new_str))
# 3.清空文件
f.seek(0)
f.truncate()
# 4.把新内容写到文件
f.write(new_data)
f.close()
print(f"成功替换字符‘{old_str}'to'{new_str}',共{old_str_count}处...")

这是练习文本修改的步骤操作,可以按自己需求模仿去练一练。

4.设计用户登录程序
(要求:若用户密码输入错误3次,则锁定账号)

首先,这是我自己定义的一个用户信息仓库:(姓名,密码,账户状态)

这里账户状态为1,则为锁定状态,为0则为正常状态。

#1.确定 在文件里存储的账号信息结构

#2. 把数据读到内存,为方便调用,改成列表结构list或字典
accounts = {
    # 定义一个空字典
}
f = open("account.db", "r")
for line in f:
    line = line.strip().split(",")  # strip 吃空格
    accounts[line[0]] = line

# 3. 搞个循环。要求用户输入信息,判断

while True:
    user = input("Username:").strip()
    if user not in accounts:
        print("该用户未注册...")
        continue
    elif accounts[user][2] == "1":
        print("该账户已锁定,请联系客服解决...")
        continue
    count = 0
    while count < 3:  # 控制密码输入次数
        passwd = input("Password:").strip()
        # 去账号的字典里判断密码是否正确
        if passwd == accounts[user][1]:
            print(f"Welcome{user}...登录成功...")
            exit("bye bye...")
        else:
            print("密码错误....")
        count += 1
    if count == 3:
        print(f"输错了{count}次密码,锁定账号{user}...")
        # 1.先改内存中字典里的账号信息的用户状态
        # 2.把字典里的数据信息按源数据格式存回文件
        accounts[user][2] = "1"   # 1代表账户锁定
        f2 = open("account.db", "w")
        for user, val in accounts.items():
            line = ",".join(val) + "n"
            f2.write(line)
        f2.close()

        exit("bye bye...")

这是程序运行效果:


这分别是账户锁定登录失败,密码输入错误,账号锁定以及正常成功登录,要求的功能都成功时下。

5.初识函数:

 #函数: 减少重复代码; 使程序变得可扩展; 使程序变得易维护
# 函数的定义:
def Add():  # 函数名
    print("这是加法")


Add()  # 调用函数


def Add(a, b):  # 带参数
    c = a + b
    print(c)


Add()

自定义函数:

def hello(name, age):
    print(f"hello,my name is {name},this year {age} years old..")


hello("DaoNan", "22")

函数运行效果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/772708.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号