一、循环猜年龄程序,猜错三次则打印提示信息并退出循环,猜对也打印提示信息并退出循环

count=0
while count < 3:
num = input("猜年龄游戏:")
guess = int(num)
if guess == 18:
print("恭喜你猜对了")
break
elif guess > 18:
print("大了")
elif guess < 18:
print("小了")
count += 1
else:
print("猜了三次都没猜对'")

二、写while循环嵌套的小例子,用一个tag控制所有while循环的退出


tag=True
while tag:
inp_name=input("name>>")
inp_pwd=input('password>>')
if inp_name == "username" and inp_pwd == "password":
print('login successfull')
while tag:
cmd=input('cmd>>>')
if cmd == 'quit':
tag=False
continue
print('%s 命令整在执行...' %cmd)
else:
print('user or password not vaild')

三、用户注册程序

基本功能实现一

ps:使用手机号码做账户

menu=['新用户注册','查看账户信息','退出程序']
while True:
for i in range(len(menu)):                              #打印功能menu菜单
print(i, menu[i])
choice=input("选择编号>>>:").strip()
if choice =='':                                    #判断用户选择的功能是'新用户注册'
number=input('请输入你的手机号码>>>:').strip()
uname=input('请输入用户名>>>:').strip()
passwd=input('请输入密码>>>:').strip()
age=input('请输入你的年龄>>>:').strip()
sex=input('请输入你的性别>>>:').strip()
with open('db.txt',mode='a',encoding='utf-8') as f:             #创建一个存在用户信息的文件
f.write('%s,%s,%s,%s,%s\n' %(number,uname,passwd,age,sex))      #把用户输入的注册信息写入文件中
elif choice == '':                                  #判断用户选择的功能是'查看账户信息'    
number=input('请输入你的手机号码>>>:').strip()                 #让用户输入手机号码
with open('db.txt',mode='r',encoding='utf-8') as f:
for i in f:
if i.startswith(number):                        #判断用户输入的账号是否存在
print(i,end='')                           #打印该账号详细信息
break                                 #退出此循环
elif choice == '':                                  #功能2'退出程序'
print('退出程序')
break
else:                                           #以上条件不满足,让用户信息输入!
print('输入非法数据,请重新输入!!!')

功能实现二

  #查看用户信息,增加密码认证功能

menu=['用户注册','查看账户信息','退出程序']
tag=True
while True:
for i in range(len(menu)):
print(i, menu[i])
choice=input("选择编号>>>:").strip()
if choice =='':
print('用户注册')
number=input('请输入你的手机号码>>>:').strip()
uname=input('请输入用户名>>>:').strip()
passwd=input('请输入密码>>>:').strip()
age=input('请输入你的年龄>>>:').strip()
sex=input('请输入你的性别>>>:').strip()
with open('db.txt',mode='a',encoding='utf-8') as f:
f.write('%s,%s,%s,%s,%s\n' %(number,uname,passwd,age,sex))
elif choice == '':
tag=True
while tag:
number=input('请输入你的手机号码>>>:').strip()
with open('db.txt',mode='r',encoding='utf-8') as f:
for i in f:
if i.startswith(number):
while tag:
check=i.split(',')
uname=input('请输入用户名>>>:').strip()
passwd=input('请输入密码>>>:').strip()
if uname == check[] and passwd == check[]:    #判断用户密码,用户密码输入不正确时,让用户重新输入
print(check)
tag=False
else:
print('账号密码错误!!!')
elif choice == '':
print('退出程序')
break
else:
print('输入非法数据,请重新输入!!!')

功能实现三

  ps:增加账号是否已被注册功能

menu=['用户注册','查看账户信息','退出程序']
tag=True
while True:
for i in range(len(menu)):
print(i, menu[i])
choice=input("选择编号>>>:").strip()
if choice =='':
while tag:
number=input('请输入你的手机号码>>>:').strip()
with open('db.txt',mode='r',encoding='utf-8') as f:            #注意:使用r模式打开db.txt,db.txt文件不存在会报错
for i in f:
if i.startswith(number):
print('该账号已被注册,请重新输入!!!')
break
uname=input('请输入用户名>>>:').strip()
passwd=input('请输入密码>>>:').strip()
age=input('请输入你的年龄>>>:').strip()
sex=input('请输入你的性别>>>:').strip()
with open('db.txt',mode='a',encoding='utf-8') as f:
f.write('%s,%s,%s,%s,%s\n' %(number,uname,passwd,age,sex))
break
elif choice == '':
tag=True
while tag:
number=input('请输入你的手机号码>>>:').strip()
with open('db.txt',mode='r',encoding='utf-8') as f:
for i in f:
if i.startswith(number):
while tag:
check=i.split(',')
uname=input('请输入用户名>>>:').strip()
passwd=input('请输入密码>>>:').strip()
if uname == check[] and passwd == check[]:
print(check)
tag=False
else:
print('账号密码错误!!!')
elif choice == '':
print('退出程序')
break
else:
print('输入非法数据,请重新输入!!!')

四、购物车程序

用户名和密码存放于文件中,格式为:aaa|bbb123
启动程序后,先登录,登录成功则让用户输入工资,然后打印商品列表,失败则重新登录,超过三次则退出程序
允许用户根据商品编号购买商品
用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
可随时退出,退出时,打印已购买商品和余额
menu=['新用户注册','登录商城','退出程序']
goods=[
['mac',],
['lenovo',],
['apple',],
['tesla',],
] shopping_cart=[ ] tag=True
while True:
for i in range(len(menu)):
print(i, menu[i])
choice=input("选择编号: ").strip()
if choice == '':
while tag:
user_number=input('请输入你的手机号码: ').strip()
with open(r'db.txt',mode='r',encoding='utf-8') as read_db_f:       #模式r模式打开,db.txt文件不存在会报错       
for i in read_db_f:
if len(user_number) != or user_number in i:           #文件内容为空时会让重复输入手机号码,文件数据类型为 12345678901|18|hello|male
print('该账户已被注册,请重新输入一个11号码!')
break
else:
passwd=input('请输入密码: ').strip()
age=input('请输入你的年龄: ').strip()
sex=input('请输入你的性别: ').strip()
with open('db.txt',mode='a',encoding='utf-8') as f:
f.write('%s|%s|%s|%s\n' %(user_number,passwd,age,sex))
tag=False
break
elif choice == '':
tag=True
while tag:
user_number=input('请输入你的手机号码: ').strip()
with open('db.txt',mode='r',encoding='utf-8') as f:
for i in f:
if i.startswith(user_number):
check=i.split('|')
passwd=input('请输入密码: ').strip()
if user_number == check[] and passwd == check[]:
price=
print('当前账户余额: ',price)
while tag:
salary=input('余额不足请充值: ')
if not salary.isdigit():
print('输入非法数据,请重新输入!!!')
continue
salary=int(salary)
price=salary+price
print('充值成功,当前余额为:',price)
for i in range(len(goods)):
print(i,goods[i])
while tag:
number=input('根据商品编号购买该商品: ')
if number == '':
if price >= goods[][]:
prcie=price-goods[][]
print('当前余额为: ',price)
shopping_cart.append('%s' %(goods[]))
else:
print('余额不足,无法购买此商品,请先充值!')
break
elif number == '':
if price >= goods[][]:
price=price-goods[][]
print('当前余额:',price)
shopping_cart.append('%s' %(goods[]))
else:
print('余额不足,无法购买此商品,请先充值!')
break
elif number == '':
if price >= goods[][]:
price=price-goods[][]
print('当前余额: ',price)
shopping_cart.append('%s' %(goods[]))
else:
print('余额不足,无法购买此商品,请先充值!')
break
elif number == '':
if price >= goods[][]:
price=price-goods[][]
print('当前余额: ',price)
shopping_cart.append('%s' %(goods[]))
else:
print('余额不足,无法购买此商品,请先充值!')
break
elif number == 'quit':
print('已购买商品:',shopping_cart)
tag=False
else:
print('商品不存在,请重新输入!')
else:
print('账号密码错误!!!')
elif choice == '':
print('退出程序')
break
else:
print('输入非法数据,请重新输入!!!')

五、三级菜单

打印省、市、县三级菜单
可返回上一级
可随时退出程序
menu = {
'北京':{
'海淀':{
'五道口':{
'soho':{},
'网易':{},
'google':{}
},
'中关村':{
'爱奇艺':{},
'汽车之家':{},
'youku':{},
},
'上地':{
'百度':{},
},
},
'昌平':{
'沙河':{
'老男孩':{},
'北航':{},
},
'天通苑':{},
'回龙观':{},
},
'朝阳':{},
'东城':{},
},
'上海':{
'闵行':{
"人民广场":{
'炸鸡店':{}
}
},
'闸北':{
'火车战':{
'携程':{}
}
},
'浦东':{},
},
'山东':{},
} tag=True
while tag:
for k in menu:
print(k)
choice = input('请选择>>>: ').strip()
if choice in menu:
while tag:
for k2 in menu[choice]:
print(k2)
choice2 = input('请选择>>>: ').strip()
if choice2 in menu[choice]:
while tag:
for k3 in menu[choice][choice2]:
print(k3)
choice3 = input('请选择>>>: ').strip()
if choice3 in menu[choice][choice2]:
for k4 in menu[choice][choice2][choice3]:
print(k4)
choice4 = input('请选择>>>: ').strip()
if choice4 == 'b':
break
elif choice4 == 'quit':
tag=False
elif choice3 == 'b':
break
elif choice3 == 'quit':
tag=False
elif choice2 == 'b':
break
elif choice2 == 'quit':
tag=False
elif choice == 'quit':
tag=False

六、打印九九乘法表

'''
*= #layer= 运算次数1
*= *= #layer= 运算次数2
*= *= *=
...
*
'''
for layer in range(,):
# # print('第%d层' %layer)
for j in range(,layer+):
print('%s*%s=%s ' %(layer,j,layer*j),end='')
print()

七、打印金字塔

'''
#max_layer=
* #current_layer=,space=,star=
*** #current_layer=,space=,star=
***** #current_layer=,space=,star=
******* #current_layer=,space=,star=
********* #current_layer=,space=,star= space=max_layer - current_layer
star=*current_layer-
''' max_layer=
for current_layer in range(,max_layer+):
# print(current_layer)
# 打印空格
for i in range(max_layer - current_layer):
print(' ',end='') # 打印星号
for j in range(*current_layer-):
print('*',end='') print()

七、登录接口

基础需求:

  • 让用户输入用户名和密码
  • 认证成功后显示欢迎信息
  • 输错三次后退出程序并锁定账户
userinfo={
'egon':{'password':'','count':},
'alex':{'password':'','count':},
'wupeiqi':{'password':'','count':},
} lock_file=[] count =
while True:
username=input('请输入用户名:').strip()
password=input('请输入密码:').strip()
if username not in userinfo:
print('用户名不存在!')
continue
elif username in lock_file:
print('用户被锁定,请联系管理员!')
print(lock_file)
break
elif userinfo[username]['count'] > :
print('密码输入错误超过三次,%s被锁定,请联系管理员' %username)
print(lock_file)
lock_file.append(username)
elif password == userinfo[username]['password']:
print('登录成功')
break
else:
print('密码错误')
userinfo[username]['count']+=

  

Python入门代码练习的更多相关文章

  1. 移动测试之appium+python 入门代码(四)

    最近工作中想要做自动化回归测试,想法是将每个测试用例都做自动截图,然后将最近的稳定版本和当前测试的版本的两张截图去对比,也要将两个版本的截图都放到测试报告中方便人工来进行验证.最初想法是通过HTMLT ...

  2. 移动测试之appium+python 入门代码(二)

    ps: 对于环境安装可能会碰到各种问题,还是要一一解决. 执行: appium-doctor 显示上边界面说明,环境已完成. 同时将手机连接主机(用数据线) ^_^ 执行 adb devices 显示 ...

  3. 移动测试之appium+python 入门代码(三)

    在做app自动化过程中会踩很多坑,咱们都是用中文的app,所以首先要解决中文输入的问题!本篇通过屏蔽软键盘,绕过手机的软键盘方法,解决中文输入问题. 一.定位搜索 1.打开淘宝点击搜索按钮,进入搜索页 ...

  4. python入门(5)使用文件编辑器编写代码并保存执行

    python入门(5)使用文件编辑器编写代码并保存执行 两款文本编辑器: 一个是Sublime Text,免费使用,但是不付费会弹出提示框: 一个是Notepad++,免费使用,有中文界面: 请注意, ...

  5. 2018-06-21 中文代码示例视频演示Python入门教程第五章 数据结构

    知乎原链 续前作: 中文代码示例视频演示Python入门教程第四章 控制流 对应在线文档: 5. Data Structures 这一章起初还是采取了尽量与原例程相近的汉化方式, 但有些语义较偏(如T ...

  6. 2018-06-20 中文代码示例视频演示Python入门教程第四章 控制流

    知乎原链 续前作: 中文代码示例视频演示Python入门教程第三章 简介Python 对应在线文档: 4. More Control Flow Tools 录制中出了不少岔子. 另外, 输入法确实是一 ...

  7. 2018-06-20 中文代码示例视频演示Python入门教程第三章 简介Python

    知乎原链 Python 3.6.5官方入门教程中示例代码汉化后演示 对应在线文档: 3. An Informal Introduction to Python 不知如何合集, 请指教. 中文代码示例P ...

  8. Python 入门之代码块、小数据池 与 深浅拷贝

    Python 入门之代码块.小数据池 与 深浅拷贝 1.代码块 (1)一个py文件,一个函数,一个模块,终端中的每一行都是代码块 (代码块是防止我们频繁的开空间降低效率设计的,当我们定一个变量需要开辟 ...

  9. python入门简介

    Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...

随机推荐

  1. (jzoj snow的追寻)线段树维护树的直径

    jzoj snow的追寻 DFS序上搞 合并暴力和,记录最长链和当前最远点,距离跑LCA # include <stdio.h> # include <stdlib.h> # ...

  2. python数据类型——字符串类型

    字符串(string) 字符串,就是字符连成一串,是由字符组成的序列.字符串有编码问题,在之前我已经讲过.本节主要讲字符串的使用. 创建字符串,不用多说: a='123abcd' b='diamond ...

  3. TP5 路由使用

    这里可以直接从第四条开始看 原文http://www.upwqy.com/details/12.html 1 文档链接 tp5路由官方文档  https://www.kancloud.cn/manua ...

  4. 手摸手教你微信小程序开发之自定义组件

    前言 相信大家在开发小程序时会遇到某个功能多次使用的情况,比如弹出框.这个时候大家首先想到的是组件化开发,就是把弹出框封装成一个组件,然后哪里使用哪里就调用,对,看来大家都是有思路的人,但是要怎样实现 ...

  5. Docker(二):Dockerfile 使用介绍

    上一篇文章Docker(一):Docker入门教程介绍了 Docker 基本概念,其中镜像.容器和 Dockerfile .我们使用 Dockerfile 定义镜像,依赖镜像来运行容器,因此 Dock ...

  6. thinkPHP5使用的一些小配置

    开发环境: 版本:php5.6 系统:windows 工具:phpstudy.vscode 遇到的报错信息error: 一.原php5.4版本(不限定)切换到5.6版本,路由报错: No input ...

  7. 访问不了firefox附加组件页面怎么办

    最近重新使用火狐浏览器的时候发现访问不了firefox附加组件页面了,一直是一个空白的页面,估计是被墙的原因,于是网上查了查,说是修改hosts即可,我修改后就可以正常访问了.现在分享出来: 在hos ...

  8. 谁能用通俗的语言解释一下什么是 RPC 框架?

    转载自知乎:https://www.zhihu.com/question/25536695 知乎上很多问题的答案还是很好的,R大就经常在上面回答问题 关于RPC你的题目是RPC框架,首先了解什么叫RP ...

  9. java中断

    理解java中断 Java中断机制是一种协作机制,即通过中断并不能直接终止另一个线程,而需要被中断的线程自己处理中断.例如,当线程t1想中断线程t2,只需要在线程t1中将线程t2对象的中断标识置为tr ...

  10. 【原创】快应用QuickApp--HelloWorld体验

    快应用: 快应用是九大手机厂商基于硬件平台共同推出的新型应用生态.用户无需下载安装,即点即用,享受原生应用的性能体验. 3月20日在北京联合召开快应用标准启动发布会.过去1天了,官网(快应用官方网站) ...