每天只需要占用大家中午吃饭的十分钟,有事没事看一下,轻松掌握一门语言!让我们一起努力吧。
亲爱的,读者朋友们,欢迎大家来到PYTHON的奇幻冒险世界里!今天我们要解决的问题大家在生活中可能都会遇到!就是BUG!首先呢!咱们先解决上一课的遗留问题!
前期我们已经学习了很多PYTHON方面的知识,现在我们需要用它去改变PYTHON世界中的游戏规则!下面这个BOSS主要让我们和电脑做一个小游戏!“剪刀石头布!”
对的,就是猜拳小游戏!
话不多说,先看代码,PYTHON的世界里,满足你的一起幻想!
import random
# 出拳
CaiQuan = ['石头','剪刀','布']
Computer = random.choice(CaiQuan)
Player = ''
Player = input('请出拳:[石头、剪刀、布]') # 请用户输入选择
while Player not in CaiQuan: # 当用户输入错误,提示错误,重新输入
print('输入有误,请重新出拳')
Player = input()
# 开始你的表演
print('————战斗过程————')
print('电脑出了:%s' % Computer)
print('你出了:%s' % Player)
# 胜负
print('—————结果—————')
if Player == Computer: # 使用if进行条件判断
print('平局!')
elif (Player == '石头' and Computer == '剪刀') or (Player == '剪刀' and Computer == '布') or (Player == '布' and Computer == '石头'):
print('你赢了!')
else:
print('你输了!')
运行结果:
请出拳:[石头、剪刀、布]布
————战斗过程————
电脑出了:布
你出了:布
—————结果—————
平局!
是不是很简单呢?下面我们需要再将上面的代码优化一下,因为这样写,小鹏鹏觉得还是有些不好理解。
import random
# 出拳
CaiQuan = ['石头','剪刀','布']
Computer = random.choice(CaiQuan)
Player = ''
Player = input('请出拳:[石头、剪刀、布]') # 请用户输入选择
while Player not in CaiQuan: # 当用户输入错误,提示错误,重新输入
print('输入有误,请重新出拳')
Player = input()
# 开始你的表演
print('————战斗过程————')
print('电脑出了:%s' % Computer)
print('你出了:%s' % Player)
# 胜负
print('—————结果—————')
if Player == Computer: # 使用if进行条件判断
print('平局!')
# 现在我们需要换一种思维模式,假设电脑的选择有3种,索引位置分别是:0~石头、1~剪刀、2~布。
# 假设在电脑索引位置上减1,相当于右移,对应:-1布,0石头,1剪刀,皆胜。
elif Player == CaiQuan[CaiQuan.index(Computer)-1]:
print('你赢了!')
else:
print('你输了!')
运行结果:
请出拳:[石头、剪刀、布]剪刀
————战斗过程————
电脑出了:剪刀
你出了:剪刀
—————结果—————
平局!
不知道大家有没有发现什么不同,在面的代码中,我用到了一个index()函数!index()函数用于找出列表中某个元素第一次出现的索引位置!所以说嘛,看起来简单的事情背后,都有神奇的秘密哦!
相信大家在学习PYTHON的过程中,肯定会遇到很多的BUG!今天我们就一起解决它!
话不多说,先看代码,PYTHON的世界里,满足你的一起幻想!
Money = [100,500,1000,2000,5000,10000,20000,45000]
for i in range(1, len(Money))
if Money[i-1] == 0: # 判断除数等于0时,特殊处理。
print('你上次存款为 0 哦!')
else:
times = Money[i]/Money[i-1]
print('你的存款涨了%f倍'%times)
运行结果:
ERROR line 3
for i in range(1, len(Money))
^
SyntaxError: invalid syntax
大家有没有明白?第三行代码出错,无效的语法!是不是for语句后面要加分号呢?记住PYTHON的世界里面,没有中文哦!一定要用英文格式!
Money = [100,500,1000,2000,5000,10000,20000,45000]
for i in range(1, len(Money)):
if Money[i-1] == 0: # 判断除数等于0时,特殊处理。
print('你上次存款为 0 哦!')
else:
times = Money[i]/Money[i-1]
print('你的存款涨了%f倍'%times)
运行结果:
你的存款涨了5.000000倍
你的存款涨了2.000000倍
你的存款涨了2.000000倍
你的存款涨了2.500000倍
你的存款涨了2.000000倍
你的存款涨了2.000000倍
你的存款涨了2.250000倍
通常,我们打游戏的过程中一定会遇见BOSS!那就消灭它!注意细节!
话不多说,先看代码,PYTHON的世界里,满足你的一起幻想!
print('\n欢迎大家来到PYTHON的奇幻世界!\n')
print('\n相信即将会成为这片大陆的主人!\n')
while True:
try:
x = input('请你输入被除数:')
y = input('请你输入除数:')
z = float(x)/float(y)
print(x,'/',y,'=',z)
break # 这里默认每次只计算一次,所以在这里写了 break。
except ZeroDivisionError: # 当除数为0时,跳出提示,重新输入。
print('0是不能做除数的!')
except ValueError: # 当除数或被除数中有一个不是数字时,跳出提示,重新输入。
print('除数和被除数都应该是整值或浮点数!')
运行结果
欢迎大家来到PYTHON的奇幻世界!
相信即将会成为这片大陆的主人!
请你输入被除数:6
请你输入除数:r
除数和被除数都应该是整值或浮点数!
请你输入被除数:f
请你输入除数:7
除数和被除数都应该是整值或浮点数!
请你输入被除数:9
请你输入除数:7
9 / 7 = 1.2857142857142858
不知道大家有没有注意到一个细节,try…except语句!是的,当我们阐述了我们的表达式,一旦触发了except中的条件,这个错误就会被“过滤”掉。大家可以结合代码更好的理解哦!
突然发现自己已经写了很多很多了!加上之前写的文章,不知道大家收获了多少。PYTHON是一门优秀的语言,我曾经听过,小孩子现在都会用PYTHON写代码了!所以说,我们更要努力的前行!虽然学习很辛苦,但是我相信是值得的!