Python之王者荣耀文字游戏,以及小知识回顾

系列文章目录

第七章 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('输入错误,请重新选择,请重新输入')	
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值