系列文章目录
第七章 Python 机器学习入门之练习,王者荣耀文字游戏
Python 机器学习入门之练习题,王者荣耀文字游戏
前言
前面学习了基础的知识,今天来做一些练习题巩固,以及写一个王者荣耀文字小游戏
一、练习
1.已知a=[1,2,3];
执行a.insert(1,4)后,a=[1,4,2,3];
执行a.append(10)后a=[1,2,3,10];
执行a.extend([20,30])后[1,2,3,20,30]
2.已知s2='123',则s2*3='123123123',s2+str(456)='123456';
3.已知s1='123456789',则:
s1[:3]='123';s1[-5:]='56789'
s1[::2]='13579';s1[::3]='963';
int(s1[3:5])+int(s1[-5:3:-1])=45+5=50
4.已知s1="this is a test of Python":
统计字符串中s出现的次数:s1.count(s);
取出字符"test"的表达式:s1[s1.find('test'):s1.find('test'+4)]
获取s1的反序字符串:s1[::-1]
将字符串'test'替换成'exam':s1.replace('test','exam')
5.已知字符串a = "sdpozxc2312FDSJKJ898JDlsd",要求如下:
将字符串中的大写改为小写,小写转大写:
s=''
for i in a:
if i.isupper():
s+=i.lower
elif i.ilower():
s+=i.upper()
else:
s+=i
转成全部小写:a=a.lower()
6.已知x='abc',y='deg',z=['d','e','g'],则:
x.join(y)='dabceabcg'
x.join(z)='dabceabcg'
7.把s1='你好',编码为字节流字符串:
s1.encode('utf-8')
8.已知字符串:s2=' djk278 ';
去除s2左边的空格:s2.lstrip()
去除s2右边的空格:s2.rstrip()
去除两边:s2.strip()
二、案例:王者荣耀之购买武器
'''
1.选择人物
2.购买武器 金币
3.战斗 get 金币
4.选择删除武器
5.查看武器
6.退出游戏
'''
import random
print('*'*30)
print('欢迎来到王者荣耀')
print('*'*30)
role = input('请选择英雄:1.鲁班 2.后羿 3.李白 4.澜 5.小乔 6.貂蝉 7.西施\n')
coin = 3000
weapon_list=[]
print('欢迎{0}来到王者荣耀,当前金币是:{1}'.format(role,coin))
while True:
function = int(input('请选择:\n 1.购买武器\n 2.战斗\n 3.删除武器\n 4.查看武器\n 5. 退出游戏\n 6.无限金币\n'))
if function==1:
#购买武器
print('欢迎来到武器商店:\n')
weapons=['无尽之刃',2140],['回响之杖',2100],['暗影战斧',2090],['瑶',13888],['明世隐',13888],['贪婪之噬',2160],['名刀',1900]
for weapon in weapons:
print(weapon[0],weapon[1],sep=' ')
#提示输入要购买的武器
weapon_name = input('请输入要购买的武器名称:\n')
#1.是否买过武器,2.输入的武器名是否在武器库
if weapon_name not in weapon_list :
#输入的武器名是否在武器库
for weapon in weapons:
if weapon_name == weapon[0]:
#购买武器
if coin>=weapon[1]:
coin-=weapon[1]
weapon_list.append(weapon[0])#添加武器到武器库
print('{}购买武器{}成功,当前已拥有:{}'.format(role,weapon_name,weapon_list))
break
else :
print('金币不足,请攒够了金币再来吧。')
break
else :
print('武器名输入错误')
else :
print('您已拥有该装备,已为你退回初始界面')
elif function==2:
#fight 假设拥有多个武器
print('欢迎进入王者峡谷')
#选择武器
if len(weapon_list)>0:
print('{}拥有的武器:{}'.format(role,weapon_list))
while True:
weapon_name = input('请选择武器:')
if weapon_name in weapon_list:
ran1 = random.randint(1,20) #敌人随机数
ran2 = random.randint(1,20) #自身随机数
if ran1>ran2:
coin-=1000
print('此局对战:敌方胜!当前金币:{}'.format(coin))
answer=input('您当前的金币:{}您要继续战斗吗?yes or no\n'.format(coin))
if 'yes' in answer:
continue
else:
break
elif ran1<ran2:
coin+=1200
print('此局对战:{}胜!,当前金币:{}'.format(role,coin))
answer=input('您当前的金币:{}您要继续战斗吗?yes or no\n'.format(coin))
if 'yes' in answer:
continue
else:
break
else :
print('此局平局,可以再次挑战,当前金币:{}'.format(coin))
#进入战斗
break
else:
print('选择的武器不存在,请重新选择武器')
else:
print('还没有购买武器,赶快去购买一件趁手的武器吧。')
elif function==3:
#删除武器
print('武器太多,负重不够,您需要丢弃一些武器。')
if len(weapon_list)>0:
print('{}拥有的武器:{}'.format(role,weapon_list))
while True:
weapon_name1 = input('请选择你要丢弃的武器名称:')
if weapon_name1 in weapon_list:
weapon_list.remove(weapon_name1)
for weapon1 in weapons:
if weapon_name1 == weapon1[0]:
coin1+=(weapon1[1]/2)
coin+=coin1
print('您丢掉了{},获得了神的眷顾,得到了{}金币,您金币存储为:{},还拥有的武器:{}'.format(weapon_name1,coin1,coin,weapon_list))
break
else:
print('武器名称输入错误')
else:
print('啥武器都没有,你丢个啥。快不去买个武器。')
elif function==4:
print('{}拥有的武器:{}'.format(role,weapon_list))
elif function==5:
answer5 = input('确定要离开王者峡谷吗?yes or no\n')
if answer5 == 'yes' :
break
else :
break
elif function==6:
answer6 = input('请输入作弊码\n')
if answer6 =='红栈茶凉' :
print('作弊码输入正确,已经打开无限金币模式')
coin = 999999999
else :
print('输入错误,请重新选择,请重新输入')