Python小项目——银行记账系统

项目描述:
该系统为银行记账系统,主要包含以下几个模块,用户模块,金融模块。
项目需求:
1、用户可以登陆自己的账户
2、用户可以存取款,如果金额单笔交易大于2W,则禁止交易,小于100禁止交易。
3、用户可以给其他账户转账。
4、用户可以查询到转账记录(转出、转入)。
5、有管理员用户,管理员用户可以查看所有用户的账户信息和金额。
6、管理员用户可管理所有人的交易信息。

额外:
7、记录用户登陆信息
8、记录存取款信息
import re
import sys
import time


def cun_kuan():
    a10 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt")
    a11 = a10.read()
    c = []
    k = re.findall("{}.*余额:(.*)".format(a3), a11)
    for i in range(1, len(k) + 1):
        c.append(k[-i])
    q = float(c[0])
    q = int(q)
    print("*"*100)
    print("欢迎进入存款界面")
    print(" "*100)
    print(" " * 100)
    print(" " * 100)
    print("*" * 100)
    c3 = float(input("请输入存款的金额:"))

    if c3 >= 100 and c3 <= 20000:
        print(f"存款{c3}元成功")
        q=q+c3
        a9 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt", "a")
        a9.write("\n")
        m="用户名:"
        a9.write(m)
        a9.write(a3)
        a9.write(" ")
        t = "余额:"
        a9.write(t)
        q=str(q)
        a9.write(q)
        a9.close()
    else:
        print("存款金额太小或者太大")
    g=input("是否要直接退出(输入是或否):")
    if g=="是":
        print("退出登录")
    else:
        bank()

def qu_kuan():
    global q
    a10 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt")
    a11 = a10.read()
    c = []
    k = re.findall("{}.*余额:(.*)".format(a3), a11)
    for i in range(1, len(k) + 1):
        c.append(k[-i])
    q = float(c[0])
    q = int(q)
    print("*" * 100)
    print("欢迎进入取款界面")
    print(" " * 100)
    print(" " * 100)
    print(" " * 100)
    print("*" * 100)
    c4 = float(input("请输入取款的金额:"))
    if c4 >= 100 and c4 <= 20000:
        if c4<q:
            print(f"取款{c4}成功")
            q=q-c4
            a9 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt", "a")
            a9.write("\n")
            m = "用户名:"
            a9.write(m)
            a9.write(a3)
            a9.write(" ")
            t="余额:"
            a9.write(t)
            q=str(q)
            a9.write(q)
            a9.close()
        else:
            print("余额不足,请重新输入取款金额")
            qu_kuan()
    else:
        print("取款金额太小或者太大")
        qu_kuan()
    g = input("是否要直接退出(输入是或否):")
    if g == "是":
        print("退出登录")
    else:
        bank()

def zhuan_zhang():
    print("*" * 100)
    print("欢迎进入转账界面")
    print(" " * 100)
    print(" " * 100)
    print(" " * 100)
    print("*" * 100)
    a10 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt")
    a11 = a10.read()
    c = []
    k = re.findall("{}.*余额:(.*)".format(a3), a11)
    for i in range(1, len(k) + 1):
        c.append(k[-i])
    q = float(c[0])
    q = int(q)
    a9 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt", "a")
    d1 = float(input("请输入转账金额(金额大于100小于20000):"))
    c5 = input("用户名:")
    a5 = open(r"C:\Users\PC-win10-22\Desktop\存储用户名和密码.txt")
    a6 = a5.read()
    a7 = re.findall("用户名:(.*) ", a6)
    for i in a7:
            if c5 == i :
                print("转账成功")
                q = q-d1
                a9 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt", "a")
                a9.write("\n")
                m = "用户名:"
                a9.write(m)
                a9.write(a3)
                a9.write(" ")
                t = "余额:"
                a9.write(t)
                q = str(q)
                a9.write(q)
                a9.write("\n")
                d3 = "转账记录:"
                a9.write(d3)
                a9.write(a3)
                a9.write(" ")
                d1 = str(d1)
                a9.write(d1)
                a9.write(" ")
                a9.write(c5)
                a9.close()
                d = []
                a10 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt")
                a11 = a10.read()
                k = re.findall("{}.*余额:(.*)".format(c5), a11)
                for i in range(1, len(k) + 1):
                    d.append(k[-i])
                l = float(d[0])
                d1 = float(d1)
                l = l + d1
                a9 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt", "a")
                a9.write("\n")
                m = "用户名:"
                a9.write(m)
                a9.write(c5)
                a9.write(" ")
                t = "余额:"
                a9.write(t)
                l = str(l)
                a9.write(l)
                a9.close()
    g = input("是否要直接退出(输入是或否):")
    if g == "是":
        print("退出登录")
    else:
        bank()
def cha_xun2():
    print("*" * 100)
    print("欢迎进入查询界面")
    print(" " * 100)
    print(" " * 100)
    print(" " * 100)
    print("*" * 100)
    d3 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt")
    d4 = d3.read()
    a7=re.findall("用户名:{}.*".format(a3), d4)
    a8=re.findall("转账记录:{}.*".format(a3),d4)
    c=[]
    for i in range(1, len(a7) + 1):
        c.append(a7[-i])
    print(c[0])
    for j in a8:
        print(j)
    d3.close()
    g = input("是否要直接退出(输入是或否):")
    if g == "是":
        print("退出登录")
    else:
        bank()

def cha_xun1():
    print("*" * 100)
    print("欢迎进入管理员查询界面")
    print(" " * 100)
    print(" " * 100)
    print(" " * 100)
    print("*" * 100)
    d3 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt")
    d4 = d3.read()
    a7 = re.findall("用户名:.*", d4)
    a8=re.findall("转账记录:.*",d4)
    for i in a7:
        print(i)
    for j in a8:
        print(j)
    d3.close()
    g = input("是否要直接退出(输入是或否):")
    if g == "是":
        print("退出登录")
    else:
        bank1()
def guan_li():
    print("*" * 100)
    print("欢迎进入管理交易信息界面")
    print(" " * 100)
    print(" " * 100)
    print(" " * 100)
    print("*" * 100)
    f=input("是否允许该交易(填写是或否):")
    if f=="是":
        print("此次交易成功")
    elif f=="否":
        print("此次交易失败")
    g = input("是否要直接退出(输入是或否):")
    if g == "是":
        print("退出登录")
    else:
        bank1()
def bank1():
    print("*" * 100)
    print("管理交易信息(1)")
    print("查询所有账户信息(2)")
    print("退出登录(3)")
    print(" " * 100)
    print(" " * 100)
    print(" " * 100)
    print("*" * 100)
    b3 = int(input("请输入你想进行的操作代号:"))
    if b3 == 1:
        print("管理交易信息")
        guan_li()
    elif b3 == 2:
        print("查询所有账户信息")
        cha_xun1()
    elif b3 == 3:
        print("退出登录")
    else:
        print("请重新输入有效代号")
        bank()
def bank():
    print("*"*100)
    print("存款(1)")
    print("取款(2)")
    print("转账(3)")
    print("查询账户(4)")
    print("退出登录(5)")
    print("*"*100)
    b3=int(input("请输入你想进行的操作代号:"))
    if b3==1:
        print("进入存款界面")
        cun_kuan()
    elif b3==2:
        print("进入取款界面")
        qu_kuan()
    elif b3==3:
        print("进入转账界面")
        zhuan_zhang()
    elif b3==4:
        print("进入查询账户界面")
        cha_xun2()
    elif b3 == 5:
        print("退出登录")
    else:
        print("请重新输入有效代号")
        bank()
def deng_lu():
    global a3
    a3 = input("用户名:")
    a4 = input("密码:")
    a5 = open(r"C:\Users\PC-win10-22\Desktop\存储用户名和密码.txt")
    a6 = a5.read()
    a7 = re.findall("用户名:(.*) ", a6)
    a8 = re.findall("密码:(.*)", a6)
    if a3 == "admin" and a4 == "admin":
        print("登录管理员账号成功")
        d3 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt", "a")
        d4 = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
        d5 = "登陆账户记录:"
        d3.write("\n")
        d3.write(d5)
        d3.write(a3)
        d3.write(" ")
        d3.write(d4)
        d3.close()
        bank1()
    for i in range(len(a7)):
            for j in range(len(a8)):
                if a3 == a7[i] and a4 == a8[i]:
                    print("登录成功")
                    d3 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt", "a")
                    d4 = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
                    d5 = "登陆账户记录:"
                    d3.write("\n")
                    d3.write(d5)
                    d3.write(a3)
                    d3.write(" ")
                    d3.write(d4)
                    d3.close()
                    bank()
                    break
                else:
                    pass

def zhu_ce():
        global a3
        a = input("是否已注册(填写是或者否):")
        if a == "否":
            print("您好,请注册")
            b1 = open(r"C:\Users\PC-win10-22\Desktop\存储用户名和密码.txt", "a")
            a1 = input("用户名:")
            a2 = input("密码:")
            c1 = "用户名:"
            c2 = "密码:"
            b1.write("\n")
            b1.write(c1)
            b1.write(a1)
            b1.write(" ")
            b1.write(c2)
            b1.write(a2)
            b1.close()
            b2=open(r"C:\Users\PC-win10-22\Desktop\记录.txt","a")
            c3="余额:"
            b2.write("\n")
            b2.write(c1)
            b2.write(a1)
            b2.write(" ")
            b2.write(c3)
            b2.write("0")
            b2.close()
            print("注册成功!")
            print("您好,请登录")
            a3 = input("用户名:")
            a4 = input("密码:")
            a5 = open(r"C:\Users\PC-win10-22\Desktop\存储用户名和密码.txt")
            a6 = a5.read()
            a7 = re.findall("用户名:(.*) ", a6)
            a8 = re.findall("密码:(.*)", a6)
            for i in range(len(a7)):
                for j in range(len(a8)):
                    if a3 == a7[i] and a4 == a8[i]:
                        print("登录成功")
                        d3 = open(r"C:\Users\PC-win10-22\Desktop\记录.txt", "a")
                        d4 = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
                        d5 = "登陆账户记录:"
                        d3.write("\n")
                        d3.write(d5)
                        d3.write(a3)
                        d3.write(" ")
                        d3.write(d4)
                        d3.close()
                        bank()
                        break
        elif a == "是":
            print("您好,请登录")
            deng_lu()
        else:
            print("输入有误,请重新输入")
            zhu_ce()
print("欢迎来到银行记账系统")
zhu_ce()

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 电影推荐系统是一种基于用户兴趣和行为数据的算法系统,它利用机器学习和数据挖掘等技术,分析用户的历史观影记录、评分和偏好,为用户推荐最适合他们的电影。 在Python项目实训中,我们可以使用Python编程语言和相关的库和工具,去构建一个电影推荐系统。首先,我们需要收集和整理电影数据集,包括电影的名称、分类、导演、演员、评分等信息。我们可以通过一些公开的电影数据库或者API来获取这些数据。 接下来,我们可以使用Python中的机器学习库(如scikit-learn)或深度学习库(如Tensorflow)来构建一个协同过滤推荐模型。协同过滤是一种常用的方法,它基于用户的行为数据,比如用户的历史观影记录和评分,来计算用户的电影相似性,并且根据其他用户的评分和观影记录,为用户生成个性化的电影推荐。 通过对电影数据进行特征工程和处理,我们可以使用Python的数据处理库(如pandas)来处理和清洗数据。然后,我们可以使用Python的数据可视化库(如matplotlib和seaborn)来对电影数据进行可视化分析,从而更好地理解数据的分布和规律。 最后,我们可以使用Python的Web开发框架(如Django)来构建一个用户交互界面,用户可以输入自己的偏好和历史观影记录,系统将根据这些信息提供个性化的电影推荐结果。 通过Python项目实训,我们可以学习和实践推荐系统的建模和算法。同时,我们也可以学习和应用Python在数据处理、可视化和Web开发等方面的能力,这对于我们日后的职业发展非常有帮助。 ### 回答2: 电影推荐系统是一种利用机器学习和数据分析技术来为用户提供个性化电影推荐的应用程序。Python项目实训中,我们可以通过以下步骤来开发电影推荐系统。 首先,我们需要收集和准备电影数据集。可以从公开数据集或者电影数据库中获取电影信息,如电影名称、类型、导演、演员和用户评分等。将这些数据导入到Python环境中进行分析和处理。 接下来,我们可以使用机器学习技术来建立推荐算法模型。常见的推荐算法包括协同过滤、基于内容的推荐和深度学习等。可以使用Python库如scikit-learn或者Keras来实现这些算法。 在建立推荐模型之后,我们可以利用该模型为用户生成个性化推荐列表。根据用户的历史行为和偏好,系统可以分析相似用户或者相似电影,并推荐用户可能喜欢的电影。可以使用Python的pandas和numpy库来对数据进行处理和计算。 最后,我们还可以通过用户反馈和评价对推荐系统进行评估和优化。根据用户的反馈,可以调整推荐算法的参数或者引入其他技术来提高推荐的准确性和用户满意度。 总结来说,Python项目实训中的电影推荐系统主要包括数据收集、数据处理、推荐算法建模和用户反馈评估等步骤。通过Python的机器学习和数据分析技术,可以开发出一个个性化、准确度高的电影推荐系统。 ### 回答3: 电影推荐系统是基于Python语言进行开发的一个项目实训项目。该系统的主要目的是根据用户的喜好和观影记录,推荐符合用户口味的电影。 在实现该系统时,首先需要收集电影的相关数据。可以使用爬虫技术从互联网上获取电影的信息,比如电影的名称、导演、演员、类型、时长、评分等。获取到的数据可以存储在数据库中,以便后续使用。 接下来,需要设计一个算法来进行电影的推荐。常用的算法有基于内容的推荐算法和协同过滤推荐算法。基于内容的推荐算法是根据电影的特征,比如类型、导演、演员等,来推荐类似的电影给用户。而协同过滤推荐算法是根据用户的观影历史和其他用户的行为数据,找出相似的用户,并将相似用户喜欢的电影推荐给当前用户。 在系统实现过程中,还可以考虑引入机器学习的算法,比如深度学习和自然语言处理等技术,来提升推荐的准确性和个性化程度。 最后,在界面设计方面,可以使用Python的GUI库,比如Tkinter或PyQt等,来实现一个友好的用户界面,使用户能够方便地输入自己的喜好和查看系统推荐的电影。 该项目的实施可以考虑以下步骤:需求分析、数据库设计、数据采集、算法选择与实现、界面设计与实现、系统测试与调试等。 通过这个项目实训,可以提高学生的Python编程能力,了解数据获取和处理的方法,熟悉算法的选择和实现,掌握界面设计和用户交互的技术,培养系统分析和设计的能力,进一步提升学生的综合实践能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萧鼎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值