1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【python练习题3】英雄联盟英雄购买界面+数字炸弹游戏

【python练习题3】英雄联盟英雄购买界面+数字炸弹游戏

时间:2019-07-06 03:59:35

相关推荐

【python练习题3】英雄联盟英雄购买界面+数字炸弹游戏

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 = Falsefor u in users:if u["username"] == username:print("对不起,用户已存在")flag = Truebreakif flag:continueif len(password)<6:print("密码长度要大于6")continueif password !=password_config:print("密码不一致,请重新输入")continueuser = {"username":username,"password":password}users.append(user)print("用户注册成功,请登录")print()else:print("退出系统")

1、需求可以用try{}expect在ifelse中进行替换。

2、新用户注册完后就会结束,不会跳回原界面再次进行选择,无法正常使用,登录界面登录一次后买完一次后就结束了,不能再次使用了,以后会再次修改。

数字炸弹游戏

游戏大概:有三种困难程度【困难】【普通】【简单】

【困难】:每次玩家进行一次后电脑进行一次,减小这个数次随机的范围

【普通】:每次玩家进行完全部后才轮到电脑进行。

【简单】:这级别是一个搞怪的,直接让通过。

我们每次成功避开算己方赢一分,最后踩中炸弹对方加三分。

代码:简单的使用while函数进行连续的玩耍,每次使用ifelse多分枝或者嵌套进行多情况的处理。

import randomimport timeprint("[数字炸弹游戏]")print('''———————————————————————————————————————————————[游戏规则:1-100的炸弹编号中,其中一个编号是引爆编号。玩家和电脑每次随机选择一个编号,如果有人引爆了炸弹则游戏结束。如果没有人引爆炸弹,那么编号范围会根据玩家和电脑的选择而不断缩小直至炸弹引爆。]———————————————————————————————————————————————''')player = 0computer = 0while True:print()print("[游戏开始]【玩家得分:{}】【电脑得分:{}】".format(player,computer))D = input("[请选择困难程度]【a.困难,b.普通,c.简单】:")if D == "a":print("您选择的困难程度为:[困难]")boom = random.randint(1,100)a = 0b = 100while True:print("*"*50)n = int(input("请输入您所猜的炸弹数字:"))if n<=a or n>=b:print("输入范围不正确!请重新输入")continueelse:time.sleep(0.5)#不清楚干啥的if(boom != n):if(a<n<boom):a = nprint("当前可输入范围为{}~{}".format(a,b))player += 1if(boom<n<b):b = nprint("当前可输入范围为{}~{}".format(a,b))player +=1else:print("Boooooom!!!")print("玩家引爆了炸弹")computer += 3breaktime.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 = mprint("当前可输入范围:{}~{}".format(a,b))computer += 1elif boom<m<b:b = mprint("当前可输入范围:{}~{}".format(a,b))computer += 1else:print("Boooooom!!!")print("电脑引爆了炸弹")player += 3breakelif D == "b":print("你选择是困难程度是:[普通]")boom = random.randint(1,100)a = 0b = 100while True:print('-' * 30)N = int(input('[玩家][请输入一个炸弹编号]:'))if N <= a or N >= b:print('[编号输入范围错误]')continueelse:time.sleep(0.5)if N != boom:if a < N < boom:a = Nprint(f'当前可输入的范围:[{a}]-[{b}]')elif boom < N < b:b = Nprint(f'当前可输入的范围:[{a}]-[{b}]')else:print('[BOOOOM!!]')print('[你引爆了炸弹][电脑获胜]')computer += 1breaktime.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 = Mprint(f'当前可输入的范围:[{a}]-[{b}]')elif boom < M < b:b = Mprint(f'当前可输入的范围:[{a}]-[{b}]')else:print('[BOOOOM!!]')print('[电脑引爆了炸弹][玩家获胜]')player += 1breakelif D == "c":print("恭喜你通关!")print("不会真的有人选这个吧!")

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。