选择与循环:剪刀石头布_Python之石头剪刀布小游戏(史上最详细步骤)
?嗨,各位好呀,我是真小凡。
相信你如果是一個剛學習Python的小白,一定會很想做一個自己的Python小游戲(我就是這樣子的),那么今天我們就一起實操一下!
首先要清楚,做一個項目必須的流程是什么,只有不斷加強編程思維,才能更好的學習和掌握:
那么放在今天這個實操中,項目流程如下:
1.明確項目目標:(為了方便理解,玩家只出布)
我們會通過今天的作業和電腦玩一個剪刀石頭布的游戲:電腦隨機出拳,我們可選擇出什么。
2.分析過程,拆解項目
小游戲可以拆解為:雙方出拳→雙方亮拳(打印一下)→判斷勝負
3逐步執行,代碼實現
基本元素:
? 玩家、電腦
? 要能展示
? 最終勝負
下面,我們就可以開始寫代碼啦!那么放在今天這個實操中,項目流程如下:
1.雙方出拳
我們要讓雙方選擇出拳,才能判斷勝負。
我們可以設置變量computer_choice代表電腦的出拳選擇,設置變量user_choice代表你的出拳選擇。
電腦的出拳,我們可以使用random.choice()來隨機選擇;我們的出拳,可以手動輸入我們出拳的類型。
注:
- 判斷下輸入:當輸入的內容不是石頭剪刀布時,電腦會提醒'輸入有誤,請重新出拳'。
- 判斷的語句為:while a not in list1,即當元素 a 不在列表 list1。
終端顯示:
第一種結果: 請出拳:(石頭、剪刀、布)布 ? 第二種結果:(輸入有誤,會提醒直到輸入符合) 請出拳:(石頭、剪刀、布)布頭 輸入有誤,請重新出拳 布2.雙方亮拳
你和電腦已經對自己要出的拳進行了選擇,接下來,我們需要知道雙方的出拳類型。
注:
- 使用print()函數補充亮拳的結果。
終端顯示:
請出拳:(石頭、剪刀、布)布 ————戰斗過程———— 電腦出了:剪刀 你出了:布3.判斷勝負
在前面兩步,電腦和你已經選擇完出拳的類型并亮拳后,只差最后一步:根據結果判斷勝負。
注:
? 兩方出拳一致:平局
? 你出石頭,電腦出剪刀;你出剪刀,電腦出布;你出布,電腦出石頭:你獲勝;
? 其他情況:你輸了。
import random # 出拳 punches = ['石頭','剪刀','布'] computer_choice = random.choice(punches) user_choice = '' user_choice = input('請出拳:(石頭、剪刀、布)') # 請用戶輸入選擇 while user_choice not in punches:print('輸入有誤,請重新出拳') # 當用戶輸入錯誤,提示錯誤,重新輸入user_choice = input()# 亮拳 print('————戰斗過程————') print('電腦出了:%s' % computer_choice) print('你出了:%s' % user_choice) ? # 勝負 print('—————結果—————') if user_choice == computer_choice: # 使用if進行條件判斷print('平局!') elif (user_choice == '石頭' and computer_choice == '剪刀') or (user_choice == '剪刀' and computer_choice == '布')or (user_choice == '布' and computer_choice == '石頭'):print('你贏了!') else: print('你輸了!')終端顯示:
請出拳:(石頭、剪刀、布)布 ————戰斗過程———— 電腦出了:布 你出了:布 —————結果————— 平局4.?加入循環
最終代碼:在外部加了一個while……循環,這樣你不讓它結束,就可以一直玩下去啦。
import random ? # 出拳 while True:punches = ['石頭','剪刀','布']computer_choice = random.choice(punches)user_choice = ''user_choice = input('請出拳:(石頭、剪刀、布)') # 請用戶輸入選擇while user_choice not in punches: # 當用戶輸入錯誤,提示錯誤,重新輸入print('輸入有誤,請重新出拳')user_choice = input()# 亮拳print('————戰斗過程————') print('電腦出了:%s' % computer_choice) print('你出了:%s' % user_choice) ?# 勝負print('—————結果—————') if user_choice == computer_choice: # 使用if進行條件判斷print('平局!') elif (user_choice == '石頭' and computer_choice == '剪刀') or (user_choice == '剪刀' and computer_choice == '布')or (user_choice == '布' and computer_choice == '石頭'):print('你贏了!') else:print('你輸了!') ?a1 = input('要繼續游戲嗎,請輸入n退出,輸入其他繼續:') if a1 == 'n':print('n【結束游戲】') break終端顯示:
請出拳:(石頭、剪刀、布)布 ————戰斗過程———— 電腦出了:剪刀 你出了:布 —————結果————— 你輸了! 要繼續游戲嗎,請輸入n退出,輸入其他繼續:y 請出拳:(石頭、剪刀、布)布 ————戰斗過程———— 電腦出了:石頭 你出了:布 —————結果————— 你贏了! 要繼續游戲嗎,請輸入n退出,輸入其他繼續:n ? 【結束游戲】最終的運行代碼與顯示如下:
怎么樣,是不是還是比較簡單的那!
現在我們來總結一下這個項目的流程重點:
好了,這篇又臭又長的實操寫寫改改花了我十來個小時以及一小撮頭發,要是看不到你的贊,當心我去找你哦。
再賤…
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的选择与循环:剪刀石头布_Python之石头剪刀布小游戏(史上最详细步骤)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java分页查询_面试官:数据量很大,分
- 下一篇: python适合开发游戏吗_用pytho