在学习了Python基本语法:输出输出、字符类型、循环、if判断、元组、字典之后,决定给自己一些练习。
但是自己去写一些小例子发现还是太生疏,今天工作上用到循环生成一些随机数据,例如手机号啥的使用到了循环方法,自己写了半天,报错具体是哪里不清楚 搞了半天才发现自己赋值的时候a=a+1直接写成了a+1。
学过的东西虽然懂,但是不多练习的话,自己印象根本不深刻,换个地方可能又忘记了,至此 我找到了些练习题自己去做一做,从知乎上找了篇文章,部分使用了该作者的题,但是我给他强化了一点难度,也是把我自己仅存的小技术融入到了该题目之中。
练习题1:登陆账号密码
需求:密码需要密文, 账号密码输入正确,提示登录成功,3次输入机会,3次机会后,让用户来选择是否继续输入。
import getpass #导入一个getpass模块,下面输入密码时,密文展示
username = "zhangtianci" #变量一个账号
password = "1234qwer" #变量一个密码
a = 0 #循环的话,变量个自增值,好让我们判断循环几次停止
while a < 3: #让他循环3次
ist_username = input("请输入用户账号:") #输入账号
ist_password = getpass.getpass("请输入用户密码") #输入密码
if ist_username==username and ist_password==password: #如果输入的账号与密码 = 上面变量的账号密码,则执行下面内容
print("登陆成功,欢迎来到酸芒果的博客园") #输出内容
break #账号密码输入正确了,则跳出循环了
else: #如果账号密码输入的不对,则执行下面内容
a = a+1 # 执行此,a就= 1了
if a == 1: #如果a = 1 则输出下面内容
print("密码错误,你还有2次机会") #输出内容
elif a == 2: #如果整个循环2次,a到时候就= 2了,= 2就执行这句
print("密码错误,你还有1次机会") #输出内容
else: #其他情况输出这个
print("你的机会用完了,是否还想再次输入?想再来 输入1, 其他的话按任意键回车退出") #其他情况的输出内容
agin = int(input("请输入:")) #定义个agin,让用户输入值
if agin == 1: #如果用户输入1,则
a = 0 #把上面的a 再等于0 ,会重新走大循环
else: #任意键按了,执行这个
print("再见老弟") #输出内容
练习题2:猜数字
需求:输入数字进行猜测,猜大了提示:猜大了;猜小了提示:猜小了;猜对了提示:恭喜你;若没猜对,让他继续猜,但是超过3次,则退出。
import random #引用输入随机的方法
a = [1,2,3] #使用for循环的话,我让他循环3次
b = 0 #累计次数,告诉他还有几次输入机会
num = random.randint(1,20) #定义个num方法,里面放随机数
print(num) #到时候看看这个随机数是多少
for i in a:
cc = int(input("请输入你要猜测的数字:(提示:1-20)你只有三次机会"))
if cc == num:
print("恭喜你猜对了")
break
elif cc>num:
b = b+1
print("你猜大呦")
else:
b = b+1
print("猜小了呦")
if b ==1:
print("你还有2次输入机会")
elif b==2:
print("你还有1次输出机会")
else:
print("你没机会了,再见了大兄弟")
练习题3:成绩的分类
需求:输出成绩展示分类一共4个分类:
1.分数大于90,展示:优秀
2.分数大于80,展示:不错
3.分数大于70,展示:一般
4.分数大于等于60,展示:及格
sore = int(input("请输入你的分数:"))
if sore > 90:
print("优秀")
elif sore > 80:
print("不错")
elif sore > 70:
print("一般")
elif sore >= 60:
print("及格")
else:
print("你要努力了")
练习题4:石头剪刀布
1.随机生成个石头剪刀布
2.输入石头剪刀布
3.输入的石头随机生成的是剪刀,则提示你赢了
4.输入的剪刀随机生成的是剪刀,则提示平局
5.另一种情况则提示你输了
6.利用循环,让用户直到赢了为止
import random
all_choices = ["石头","剪刀","布"]
a_choices = random.choice(al_choices)
print(a_choices)
a = 0
while a < 999:
quan = input("请出拳 : ")
if quan == "石头":
if quan == all_choices:
print("平局")
elif all_choices == "剪刀":
print("您赢了")
break
else:
print("您输了")
elif quan == "剪刀":
if quan == all_choices:
print("平局")
elif all_choices == "布":
print("您赢了")
break
else:
print("您输了")
else:
if quan == all_choices:
print("平局")
elif all_choices == "石头":
print("您赢了")
break
else:
print("您输了")
进阶练习
上面是几个对于大佬来说非常非常简单的小例子,接下来我决定,写个稍微有那么一丁点难度(对于大佬来说,我快难死了)的东西吧!
本次的需求:
1.让用户输入自己手上有多少钱;
2.展示所有商品列表 商品id、名字、金额;
3.用户选择要购买的id编号然后用户的钱减去选择的商品金额;
4.选择完成把这个商品放入购物车等待结算,然后再次让用户选择;
5.用户再次选择走4,若选择完成按q退出;
6.若不是输入商品编号给出提示,并且让用户重新输入。
money = int(input("请输入你手上有多少钱$"))
print("你的金额为",money,"元")
shop = [
("agv头盔",1780),
("MT纤维头盔",1300),
("SHoei仙鹤头盔",3699),
("Arai头盔",4600),
("LS2头盔",379),
("sol头盔",699),
("坦克头盔",350)
]
shoping_cart = []
print("《《《《《《《《《《《《 下面是头盔商品的列表")
for shoping in shop:
print(shop.index(shoping),shoping)
while True:
shop_id = input("请输入你要购买商品的id: 结束购买请按q:")
if shop_id.isdigit():
shop_id = int(shop_id)
print(type(shop_id))
if shop_id < len(shop) and shop_id >= 0:
price = shop[shop_id][1]
if money > price:
money = money - price
print("购买成功本次消费金额:",price,"剩余金额",money)
else:
print("你的金额不足,你要购买商品价格为",price,"你的余额为:",money)
else:
print("请输入编号范围之内的数字")
elif shop_id == "q":
print("欢迎下次光临")
break
else:
print("输入有误,请重新输入")
代码已经奉上,下面看看我们的需求实现效果。
需求1:让用户输入自己手上有多少钱
需求2:展示所有商品列表 商品id、名字、金额
需求3:用户选择要购买的id编号然后用户的钱减去选择的商品金额
需求4:选择完成把这个商品放入购物车等待结算,然后再次让用户选择
需求5:用户再次选择走4,若选择完成按q退出
需求6:若不是输入商品编号给出提示,并且让用户重新输入
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理