徒弟做了一个Python的实战小项目——银行系统

           

      国际惯例:实践是检验真理的唯一标准。

 众所周知,在编程过程中理论知识再充实也需要通过项目的炼金石。下面给大家看一下我徒弟做的一个小项目实战要求,是做一个银行系统,就是我们去银行办业务时候会有个自助的ATM机,现在大部分业务都是由他来解决的。首先自己想一想,用面向对象的思想该怎样实现这个系统呢?都有哪些对象?他们各自的功能都有什么?想到的越多越好,在实现的时候,碰到一个问题解决一个问题,过程当中问题很多,也不是很容易解决,不过也就是这样的过程才能学到新的东西。

 

一、准备工作

  首先走进银行的大门,会有工作人员来询问需要办理什么业务,当然得实话实说了,不过这个和系统没什么关系(* ̄︶ ̄)。接下来,如果要办理的业务是比较大众化的,可以在机器上完成,那么她就会带着我们到一个庞大的小机器旁边。前面他还需要操作几下,来让机器可以为我们工作,有时可以见到招呼一个更高级的员工来输下指纹。这些我们可以理解为管理员来启动系统(有些人是不是觉得哪有这么麻烦,主要我这里说的是银行里面那几台功能比较全的,不单单是简单的自动取款机)。

  接下来该办理我们的业务了,都有哪些业务呢?先列举一些:查余额,存款,取款,转账,改个密码,还可以挂失锁卡,对应还能解锁,把最基本的忘记了,没有办卡哪有这些操作呢,开户也得算上,补卡,销户等等。

  到这里了,我们和实际情况相比没有实体的卡,所以会有一些差异。剩下的过程中想到了再说。

 

二、转换思想

   前面大概确定了需要实现的功能,最终我们还是要写成代码,所以得从编程的思想来考虑那些需求。

  首先要考虑这个系统中有哪些对象,从人到银行的ATM机都有哪些事物。人,银行卡,ATM机,这三个是必须有的了,还需要什么,开始办理业务时候那个帮我们操作的人有很多和我们用户不一样的操作,把他也当做一个对象。

  人。人这个对象有哪些属性呢?人有自己的一些信息,还有银行卡,剩下要办理的业务我们人为的给定。

  卡。卡也有本身的一些信息。

  ATM。atm机的功能就要多一些了,首先就是上面整理出来的那些存取款等等的功能,他都得实现。除此之外还有个工作人员对他的操作,他也得处理一下。

  工作人员。他们有启用和关闭这个系统的权利。

  大体方向有了,剩下的就一点点的完善。

 

三、功能实现

  先从简单的开始,前面说到,客户和卡的属性还是比较单纯的,那就先把他们解决了。

 

1 # 银行卡:卡号,卡的密码,余额
2 class Card(object):
3     def __init__(self, cardId, cardPasswd, cardMoney):
4         self.cardId = cardId
5         self.cardPasswd = cardPasswd
6         self.cardMony = cardMoney

 

 

1 # 客户:姓名,身份证号,手机号,银行卡(性别年龄那些只是多了个属性,操作时一样的,就不多写了)
2 class User(object):
3     def __init__(self, name, idCard, phone, card):
4         self.name = name
5         self.idCard = idCard
6         self.phone = phone
7         self.card = card

 

  以上两个类是对银行卡的客户的一个初始化,里面都是列写了一下必要的属性,比如补卡得用身份证,这里通过身份证号代替,等等。其中人的属性里的卡就是上面定义的卡,人的这一个卡属性就包括卡的内部几个属性。

  接下来写一下管理员的功能:

 

 1 import time
 2 
 3 class Admin(object):
 4     # 为管理员设置个账号密码,为了不随便让人能操作一些危险的内容。
 5     admin = "1"
 6     passwd = "1"
 7     
 8     # 我们把初始的界面就放在管理员的类里了,他是第一个操作这个机器的嘛
 9     def printAdminView(self):
10         print("****************************************************")
11         print("*                                                  *")
12         print("*                                                  *")
13         print("*               欢迎登陆银行                       *")
14         print("*                                                  *")
15         print("*                                                  *")
16         print("****************************************************")
17 
18     def printSysFunctionView(self):
19         print("****************************************************")
20         print("*         开户(1)            查询(2)            *")
21         print("*         取款(3)            存款(4)            *")
22         print("*         转账(5)            改密(6)            *")
23         print("*         锁定(7)            解锁(8)            *")
24         print("*         补卡(9)            销户(0)            *")
25         print("*                    退出(q)                     *")
26         print("****************************************************")
27 
28     # 这里就是开始时候得验证一下是不是管理员,然后再决定是不是给他这些权利
29     def adminOption(self):
30         inputAdmin = input("请输入管理员账号:") 
31         if self.admin != inputAdmin:
32             print("输入账号有误!")
33             return -1
34         inputPasswd = input("请输入管理员密码:")
35         if self.passwd != inputPasswd:
36             print("密码输入有误!")
37             return -1
38 
39         # 能执行到这里说明账号密码正确
40         print("操作成功,请稍后······")
41         time.sleep(2)
42         return 0

 

   上面的代码中有个time.sleep(),这个是为了让系统更生动一些,设置的延迟,来模拟系统在大量数据时操作的时延。

  前面几个是比较好理解的,现在开始实现我们的系统的功能。这些就放在ATM机的模块里了,有需求就再修改添加策略。

  按照上面的那个目录的顺序来,第一个要实现的功能就是开户。开户就得创建出那一系列的属性。并且这些信息我们还需要存储起来,要不然下次再来的时候就发现自己办的卡已经无效了。这些信息可以使用一个键值对来存储,那么key用哪个属性呢。考虑一下,姓名:可能有重名的,身份证号:这个人也许会办不止一张卡,最

  • 13
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答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编程能力,了解数据获取和处理的方法,熟悉算法的选择和实现,掌握界面设计和用户交互的技术,培养系统分析和设计的能力,进一步提升学生的综合实践能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值