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