PYTHON奇幻冒险记19 BUG杀手

PYTHON奇幻冒险记19 BUG杀手

每天只需要占用大家中午吃饭的十分钟,有事没事看一下,轻松掌握一门语言!让我们一起努力吧。

亲爱的,读者朋友们,欢迎大家来到PYTHON的奇幻冒险世界里!今天我们要解决的问题大家在生活中可能都会遇到!就是BUG!首先呢!咱们先解决上一课的遗留问题!

文章目录

  • PYTHON奇幻冒险记19 BUG杀手
  • BOSS来袭
  • 1. 一起来找BUG
  • 2. 杀死BOSS
    • 总结


BOSS来袭

前期我们已经学习了很多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()函数用于找出列表中某个元素第一次出现的索引位置!所以说嘛,看起来简单的事情背后,都有神奇的秘密哦!

1. 一起来找BUG

相信大家在学习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

2. 杀死BOSS

通常,我们打游戏的过程中一定会遇见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写代码了!所以说,我们更要努力的前行!虽然学习很辛苦,但是我相信是值得的!

你可能感兴趣的:(Python奇幻冒险,python)