LOL英雄购买界面
客户需求:
使用控制台,购买英雄联盟的英雄和装备的界面,要求有一个登录界面,有用户登录和用户注册以及退出三种功能,系统中已有一个用户(用户名:1用户密码:111111)。
注册需要检测账号长度不为空,密码长度不得大于6,第二次输入密码进行密码正确检测,最后整合成字典加入到列表中存储起来作为一个新用户,并作出相关提示。
登录时判断是否是已经有的用户,并提供商品信息,依次根据提示输入商品信息,选择支付方式,提示需要支付人民币和剩余商品数量
users = [{"username":1,"password":111111}]
print("\t\t英雄联盟商城登录界面")
print(
'''
英雄联盟商城登录界面
~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~
1. 用户登录
2. 新用户注册
3. 退出系统
~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~
'''
)
choice = int(input("请输入您的操作数:"))
if(choice == 1):
print("***********欢迎进入到用户登录界面*************")
username = int(input("请输出用户名称:"))
password = int(input("请输入用户密码:"))
for i in users:
if(i["username"]==username and i["password"] == password ):
print("恭喜你,{}登陆成功!".format(username)+'''
~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~
英雄商城英雄列表
编号 姓名 昵称 价格 折扣 库存 描述
1 纳尔 迷失之牙 3500 9.5 100 丛林不会原谅盲目与无知
2 锐雯 放逐之刃 4000 9.5 100 她是残忍高效的战士
3 薇恩 暗夜猎手 3500 9.56 100 这个世界不想人们想象的那么美好
4 扎克 生化魔人 3000 9.8 100 即使你没有脊柱,你也必须站起来
5 杰斯 未来守护者 2500 6.5 100 武装着睿智与魅力,你的选择没有错
~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~
''')
a = int(input("温馨提示:请输入您的选项"))
piece = int(input("请输入商品价格:"))
num = int(input("请输入购买数量:"))
discount = float(input("请输入商品折扣折扣:"))
payways = str(input("请输入您的支付方式(***支付宝****vx****银行卡***):"))
if payways == "支付宝":
print("您选择的支付方式为支付宝,您要支付的金额为:{}".format(num*piece*discount/10))
print("商品{}剩余{}个".format(a,100-num))
elif payways == "vx":
print("您选择的支付方式为vx,您要支付的金额为:{}".format(num*piece*discount/10))
print("商品{}剩余{}个".format(a,100-num))
elif payways == "银行卡":
print("您选择的支付方式为银行卡,您要支付的金额为:{}".format(num*piece*discount/10))
print("商品{}剩余{}个".format(a,100-num))
else:
print("对不起,登陆失败,请重新登录!")
elif choice == 2:
print("*************欢迎进入到用户登录界面************")
username = input("请输入注册用户名:")
password = input("请输入注册密码:")
password_config = input("请再次输入密码:")
if username == None or len(username)==0:
print("用户名为空")
flag = False
for u in users:
if u["username"] == username:
print("对不起,用户已存在")
flag = True
break
if flag:
continue
if len(password)<6:
print("密码长度要大于6")
continue
if password !=password_config:
print("密码不一致,请重新输入")
continue
user = {"username":username,"password":password}
users.append(user)
print("用户注册成功,请登录")
print()
else:
print("退出系统")
1、需求可以用try{}expect在ifelse中进行替换。
2、新用户注册完后就会结束,不会跳回原界面再次进行选择,无法正常使用,登录界面登录一次后买完一次后就结束了,不能再次使用了,以后会再次修改。
数字炸弹游戏
游戏大概:有三种困难程度【困难】【普通】【简单】
【困难】:每次玩家进行一次后电脑进行一次,减小这个数次随机的范围
【普通】:每次玩家进行完全部后才轮到电脑进行。
【简单】:这级别是一个搞怪的,直接让通过。
我们每次成功避开算己方赢一分,最后踩中炸弹对方加三分。
代码:简单的使用while函数进行连续的玩耍,每次使用ifelse多分枝或者嵌套进行多情况的处理。
import random
import time
print("[数字炸弹游戏]")
print('''
———————————————————————————————————————————————
[游戏规则:1-100的炸弹编号中,其中一个编号是引爆编号。
玩家和电脑每次随机选择一个编号,如果有人引爆了炸弹则游
戏结束。如果没有人引爆炸弹,那么编号范围会根据玩家和电
脑的选择而不断缩小直至炸弹引爆。]
———————————————————————————————————————————————
''')
player = 0
computer = 0
while True:
print()
print("[游戏开始]【玩家得分:{}】【电脑得分:{}】".format(player,computer))
D = input("[请选择困难程度]【a.困难,b.普通,c.简单】:")
if D == "a":
print("您选择的困难程度为:[困难]")
boom = random.randint(1,100)
a = 0
b = 100
while True:
print("*"*50)
n = int(input("请输入您所猜的炸弹数字:"))
if n<=a or n>=b:
print("输入范围不正确!请重新输入")
continue
else:
time.sleep(0.5)#不清楚干啥的
if(boom != n):
if(a<n<boom):
a = n
print("当前可输入范围为{}~{}".format(a,b))
player += 1
if(boom<n<b):
b = n
print("当前可输入范围为{}~{}".format(a,b))
player +=1
else:
print("Boooooom!!!")
print("玩家引爆了炸弹")
computer += 3
break
time.sleep(1)
print("*"*50)
m = random.randint(a+1,b-1)
print("[电脑]【输入了一个炸弹编号】:{}".format(m))
time.sleep(0.5)
if m != boom:
if a<m<boom:
a = m
print("当前可输入范围:{}~{}".format(a,b))
computer += 1
elif boom<m<b:
b = m
print("当前可输入范围:{}~{}".format(a,b))
computer += 1
else:
print("Boooooom!!!")
print("电脑引爆了炸弹")
player += 3
break
elif D == "b":
print("你选择是困难程度是:[普通]")
boom = random.randint(1,100)
a = 0
b = 100
while True:
print('-' * 30)
N = int(input('[玩家][请输入一个炸弹编号]:'))
if N <= a or N >= b:
print('[编号输入范围错误]')
continue
else:
time.sleep(0.5)
if N != boom:
if a < N < boom:
a = N
print(f'当前可输入的范围:[{a}]-[{b}]')
elif boom < N < b:
b = N
print(f'当前可输入的范围:[{a}]-[{b}]')
else:
print('[BOOOOM!!]')
print('[你引爆了炸弹][电脑获胜]')
computer += 1
break
time.sleep(1)
print('-' * 30)
M = random.randint(a + 1, b - 1)
if M == boom:
M = random.randint(a + 1, b - 1)
print(f'[电脑][输入了一个炸弹编号]:{M}')
time.sleep(0.5)
if M != boom:
if a < M < boom:
a = M
print(f'当前可输入的范围:[{a}]-[{b}]')
elif boom < M < b:
b = M
print(f'当前可输入的范围:[{a}]-[{b}]')
else:
print('[BOOOOM!!]')
print('[电脑引爆了炸弹][玩家获胜]')
player += 1
break
elif D == "c":
print("恭喜你通关!")
print("不会真的有人选这个吧!")