一、概述

  此程序示例为博主根据路飞学城的python的作业而写的(博主也是python初学者,仅花了99元报了路飞学城的python入门14天集中营3期网络课堂班),此程序非常适合python初学者拿来联系,下面粘贴3个示例供大家参考学习

二、程序示例

一、简易登陆程序

1、需求说明

  程序启动,用户输入用户名和密码,如果输入正确,正登陆成功

  输入的用户名不存在,则提示用户注册

  允许用户输入密码3次错误,当超过3次后,则锁定改用户。

  下次重新运行程序,如果用户被锁定,则不允许登陆

2、相关代码

# 用户信息格式
# users = {'zhangsan':['张三','123','24',1],'lisi':['李四','456','24',1],'wangwu':['王五','789','24',0]}
import pickle
# 注册用户
def regist():username = input('请填写登陆账号>>')pwd = input('请填写登陆密码>>')nickname = input('请填写昵称>>')age = input('请填写年龄>>')users[username] = [nickname,pwd,age,1]f = open('user.pkl','wb')pickle.dump(users,f)f.close()print('注册成功')# 锁定用户
def lockUser(users,username):users[username][3] = 0f = open('user.pkl','wb')pickle.dump(users,f)f.close()# 解锁用户(暂时未用到)
def unLockUser(username):fr = open('user.pkl','rb')users = pickle.load(fr)users[username][3] = 1fw = open('user.pkl','wb')pickle.dump(users,fw)fw.close()# ----------begin---------------------
try:fi = open('user.pkl','rb')
except FileNotFoundError:f = open('user.pkl','wb')pickle.dump({},f)f.close()count = 1
flag = True
while(True):if(flag):name = input('请输入您的用户名:')falg = Falsepassword = input('请输入您的密码:')f = open('user.pkl','rb')users = pickle.load(f)if(users.get(name) == None ):print('该用户还未被注册,是否现在注册?y/n')if(input() == 'y'):# 注册用户
            regist()result = input('是否立即登陆?y立即登陆;n退出')if(result == 'n'):breakelse:flag = Trueelse:breakelif(users.get(name)[3] == 0):print('该账号已经被锁定,请联系管理员进行解锁!')breakelif(users.get(name)[1] != password):if(count == 3):# 锁定用户
            lockUser(users,name)print('密码三次输入错误,已经锁定该账号,请联系管理员进行解锁')breakelse:print('密码不正确','还有',str(3-count),'次输入的机会!')count += 1flag = Falseelse:print('登陆成功!')break
# --------------end------------------------

二、简易购物车程序

1、需求说明

  启动程序后让用户输入工资,然后打印商品列表

  允许用户根据商品编号来添加商品

  用户添加商品后,检测余额是否充足,如果不充足则提示,充足直接扣款

  用户可以一直购买商品,也可以随时退出,退出时打印购买的商品和余额

2、相关代码

goods = {'001':['优衣库裤子',499],'002':['小米手机',2499],'003':['iPhone7',4199],'004':['联想电脑',4999],'005':['智力车厘子',36],'006':['python从入门到放弃',79]}
buyCart = []
try:money = int(input('请输入您的金额:'))
except ValueError:print('请输入正确的金额格式')exit()
print('-----------商品列表---------------')
print('商品编号    名称   价格')
for item in goods:s = '%s    \t%s    \t%d' % (item,goods.get(item)[0],goods.get(item)[1])print(s)
while(True):goodsNO = input('\n请选择要添加的商品编号:')if(goodsNO not in goods):print('\n选择的商品编号不存在,请重新选择!')continueif(goods.get(goodsNO)[1] > money):print('\n金额不足,无法添加该商品!')else:buyCart.append(goodsNO)s = '%s    \t%s    \t%d' % (itmoney = money - goods.get(goodsNO)[1]print('\n当前余额为%d' % money)yn = input('\n是否继续添加商品?退出输入n,继续按其他任意键:'if(yn) == 'n'):print('\n\n-------已购买的商品----------')print('商品编号    名称   价格')for item in buyCart:em,goods.get(item)[0],goods.get(item)[1])print(s)print('\n余额为:' + str(money))break

三、简易多级菜单程序

1、需求说明

  多级菜单的查看

  要求程序启动后,用户可以一次选择进入各子菜单

  可以在任意一级返回上一级

  可以在任意一级菜单退出程序

  输入‘dir’来查看当前菜单下的子菜单,输入‘cd ..’返回上一级目录,输入‘cd /’返回一级菜单,输入‘path’查看当前菜单路径,输入‘quit’来退出程序

2、相关代码

menu = {'北京':{'海淀':{'五道口':{'soho':{},'google':{}},'中关村':{'爱奇艺':{},'汽车之家':{}},'上地':{'百度':{},'联想':{}}},'昌平':{'回龙观':{'新浪':{},'网易':{}},'东小口':{'中科软':{},'中软':{}},'朱辛庄':{'智联':{},'拉钩':{}}},'朝阳':{'三里屯':{'太极华青':{},'北京云财':{}},'国贸':{'北京华志信':{},'北京伟业前程':{}},'望京':{'北京佰加星':{},'北京智达方通':{}}}},'上海':{'浦东':{'金桥':{'上海求步':{},'上海驰亚':{}},'合庆':{'中国电信':{},'上海顶通':{}}},'虹口':{'江湾':{'上海伦伟':{},'上海津腾':{}},'提篮桥':{'上海芒橙':{},'上海直达':{}}}},'广州':{'黄埔':{'板桥':{'恒大地产':{},'广州市蒲公英':{}},'官洲':{'广州动点网络':{},'广州玖维':{}}},'海珠':{'客村':{'广州海度':{},'广州艾秀':{}},'新港':{'广州优识':{},'广州合光':{}}}}
}
print('您可以输入‘dir’来查看当前菜单下的子菜单,输入‘cd ..’返回上一级目录,输入‘cd /’返回一级菜单,输入‘path’查看当前菜单路径,输入‘quit’来退出程序\n')
level = 0 #当前数据项的级别,比如北京为1级
menus = [menu] #存储当前从0-5级的各级的字典‘
path = [] #存放当前菜单路径
while(True):value = input('>>')if(value == 'dir'):print(list(menus[level]))elif(value == 'cd ..'): #返回上级if(level > 0):level -= 1menus.pop()path.pop()elif(value == 'cd /'): #返回根路径menus = [menu]level = 0path = []elif(value == 'quit'): #退出breakelif(value == 'path'): #查看当前菜单路径paths = ''for item in path:paths = paths + '-' + itemprint(paths[1:])elif(value.startswith('cd ')): #进入输入的下一级菜单value = value[3:]if(value not in menus[level]):print('找不到当前项下的子菜单',value)else:level += 1menus.append(menus[level-1][value])path.append(value)else:print('不是查看菜单的命令')

转载于:https://www.cnblogs.com/lpob/p/8510867.html

初学pyhon的几个练习小程序相关推荐

  1. 初学JSP,运行一个JSP小程序

    最近在外面实习,让做一个JSP+javabean+servlet,在学习JSP之中遇到了不少小问题,现整理如下: 建议用eclipse java ee来运行,运行JSP之前,还需要配置tomcat.先 ...

  2. 从开发者的角度剖析微信小程序

    1. 小程序能有什么特别的? 不得不说,小程序(也就是大家之前传的应用号)确实给初创公司提供了一条崭新的启动途径.另外,由于借助了微信内核提供的原生组件,在很大程度上能够提升h5的展示平滑度和流畅度. ...

  3. 初学Python可能会遇见的小程序

    初学Python可能会遇见的小程序 前言 <孙子算经>中的典例 取随机数问题 "水仙花数"问题 for循环 while循环 九九乘法表 简单选择排序 回文数问题 序列的 ...

  4. 初学微信小程序 TodoList

    微信小程序的学习 微信小程序的开始尝试 TodoList 微信开发者工具生成 目录如下: . |-- app.js |-- app.json |-- app.wxss |-- pages | |-- ...

  5. 微信小程序开发初学:图片组件 - image

    image组件用于在小程序中插入图片并对插入的图片进行简单修改.支持 JPG.PNG.SVG.WEBP.GIF 等格式. image具有的属性 src 类型:String 默认值:无 图片的网络地址或 ...

  6. 微信小程序 初学——【音乐播放器】

    一.项目效果展示 音乐推荐页面展示 播放器展示 播放列表展示 二.项目结构 音乐小程序项目页面结构: 1.tab导航栏 2.content内容区 3.player音乐播放器控件 开发者工具创建空白项目 ...

  7. hbulider初学教程及html5五子棋小程序

            一.JavaScript简介 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分, ...

  8. 【Python小程序】怀旧经典 | 特色玩法,代码版本的钢琴小游戏了解下?初学钢琴,能提高双手协调与反应能力哦~(源码分享)

    导语 哈喽,我是木木子鸭! 最近给大家悄悄的更新了一些关于爬虫的内容呢~有想学习爬虫的小可爱可以学习一整子啦. 今天来给大家写一款界面化的(Tkinter)电子钢琴小程序. ​ 所有文章完整的素材+源 ...

  9. 初学前端在小程序中使用for循环的一个优化案例

    作为前端的小白,已经学习了个把月了,for循环在微信小程序中的使用在常见不过了:在获取某个官方API数据后,如何将获取的若干条数据分别不重复的放入到不同的循环当中呢?让我们看个小小的例子去体会一波. ...

最新文章

  1. Codeforces 854 C Planning 贪心 最大堆
  2. LeetCode 01两数之和02两数相加
  3. 一个用于 Angular 开发的 Chrome 扩展 - Angular Dev Tools
  4. python通过api获取数据_在一次点击PythonRequests中从API获取所有数据
  5. 专业本的C语言,以解决本专业问题为导向的C语言程序设计课程教学探索
  6. VS Code 切换大小写
  7. 厦门银行服务器没有收到证书,FRM证书申请成功后,一直未收到证书该如何做?...
  8. 冬日圣诞节海报还没灵感?看这里!
  9. [No0000143]Win10“卓越性能模式”
  10. html取消css样式,css如何取消样式
  11. 织梦php 文章采集规则,织梦输入网址采集单个网页功能发布 不需要写采集规则一键采集...
  12. foxmail 登陆126邮箱
  13. 链家房源数据清洗和预处理(pandas)
  14. 我们与专家讨论了JavaScript –文字记录
  15. 项目需求的重要性和开发步骤
  16. hp388服务器安装linux,HP DL388 G7做OLI,RAID,BIOS设置linux安装概要
  17. 同为双摄像头,华为P9到底比iPhone 7 plus差在哪里?
  18. 熵权法、极差法标准化简介与实战
  19. 网易云直播SDK使用总结
  20. Mac ps 2021 3D功能无法使用问题,怎么办?

热门文章

  1. Linux 网络编程——套接字的介绍
  2. MacOS更新提示“安装需要下载重要内容。该内容此时无法下载。请稍后再试。”解决方法
  3. 捡到iphone6怎么解锁_捡了一部苹果6,怎么解开指纹锁,
  4. 如何关闭苹果手机自动扣费_抖音很火,剪辑软件也很火,下载软件后岂料每月自动扣费?快看你手机有没有...
  5. tiktok怎么关闭动态图片
  6. TCP/IP网络编程之四书五经
  7. 二项分布及常见应用场景
  8. java中的 限制_java里如何限制输入的字符
  9. Ranorex学习记录
  10. 《网络空间安全导论(网安)》简答题