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寫代碼了!所以說,我們更要努力的前行!雖然學習很辛苦,但是我相信是值得的!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/248167.html
標籤:其他
上一篇:unity Camera相機組件 和 cinemachine 功能實作 鏡頭角度旋轉、平移、縮放、位置重置、自動避障、多攝像機切換等功能相關設定技巧
下一篇:LabVIEW小游戲實體 / 超級像素鳥 / Super Flappy Bird / 布爾燈趣味編程 / 事件結構按鍵的使用 / LabVIEW 學習
