您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Python如何使用random模塊實現擲骰子游戲,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
1、云計算,典型應用OpenStack。2、WEB前端開發,眾多大型網站均為Python開發。3.人工智能應用,基于大數據分析和深度學習而發展出來的人工智能本質上已經無法離開python。4、系統運維工程項目,自動化運維的標配就是python+Django/flask。5、金融理財分析,量化交易,金融分析。6、大數據分析。
一盤游戲中,兩人輪流擲骰子5次,并將每次擲出的點數累加,5局之后,累計點數較大者獲勝,點數相同則為平局。根據此規則實現擲骰子游戲,并算出50盤之后的勝利者( 50盤中嬴得盤數最多的,即最終勝利者)。
審題: 共有50盤游戲。一盤游戲有5局,每一局雙方各擲骰子一次,5局結束以后統計分數,分數高的一方獲勝。至此,一盤游戲結束。50盤游戲結束后,贏得盤數最多的一方為最終勝利者。
↓↓↓開始奇妙Python之旅吧!↓↓↓
統一聲明變量,便于后續的管理和使用。
import random #導入模塊 # ↓↓↓ 定義初始變量 a =0 # 用來記錄人物A擲投擲的結果 b =0 # 用來記錄人物B擲投擲的結果 level_score =0 # 用來記錄雙方平局次數 score_A =0 # 人物A的每小局勝利次數 score_B =0 # 人物B的每小局勝利次數
本處用了for … in range(50)循環模擬進行50盤游戲。并在循環內嵌套新的for … in …range(5)作為每盤游戲中進行5次過程的模擬
for x in range(50): # 進行50盤比賽 for n in range(5): # 模擬雙方每盤搖5次骰子 person_A =random.randint(1,6) # 使用random模塊的randit進行1~6模擬搖骰子的過程 a +=person_A # 將投擲結果保存 person_B =random.randint(1,6)# 使用random模塊的randit進行1~6模擬搖骰子的過程 b +=person_B # 將投擲結果保存 if a>b: # 比較雙方投擲結果總和,將比較結果保存至本場比賽最終結果 score_A+=1 elif a<b: score_B+=1 else: level_score+=1 a =0 # 重置雙方分數,并進入下一輪循環 b =0 # 重置雙方分數,并進入下一輪循環 # 此處如果不重置分數,本次投擲結果將會進入下一次循環,有悖題目要求和比賽公平性。
前面我們對每盤游戲進行了模擬,現在我們要書寫題目最后的要求的代碼。
因為前面用了score_A和score_B作為用來記錄每盤游戲結束的變量,所以此處我們只需要對之前的變量進行大小比較即可。
if score_A>score_B: # 比較最終結果,游戲結束 print(f'本次比賽A勝,A總分為:{score_A},B總分為:{score_B},比賽期間平局次數為:{level_score}') elif score_A<score_B: print(f'本次比賽B勝,A總分為:{score_A},B總分為:{score_B},比賽期間平局次數為:{level_score}') else: print(f'本次比賽平局,雙方總分:A{score_A} vs B{score_B},比賽期間平局次數為:{level_score}')
import random #導入模塊 # ↓↓↓ 定義初始變量 a =0 # 用來記錄人物A擲投擲的結果 b =0 # 用來記錄人物B擲投擲的結果 level_score =0 # 用來記錄雙方平局次數 score_A =0 # 人物A的每小局勝利次數 score_B =0 # 人物B的每小局勝利次數 for x in range(50): # 進行50盤比賽 for n in range(5): # 模擬雙方每盤搖5次骰子 person_A =random.randint(1,6) # 使用random模塊的randit進行1~6模擬搖骰子的過程 a +=person_A # 將投擲結果保存 person_B =random.randint(1,6)# 使用random模塊的randit進行1~6模擬搖骰子的過程 b +=person_B # 將投擲結果保存 if a>b: # 比較5局以后雙方投擲結果總和,將比較結果保存至本場比賽最終結果 score_A+=1 # A本盤獲勝 elif a<b: # B本盤獲勝 score_B+=1 else: level_score+=1 a =0 # 重置雙方分數,并進入下一輪循環 b =0 # 重置雙方分數,并進入下一輪循環 # 此處如果不重置分數,本次投擲結果將會進入下一次循環,有悖題目要求和比賽公平性。 if score_A>score_B: # 比較最終結果,游戲結束 print(f'本次比賽A勝,A總分為:{score_A},B總分為:{score_B},比賽期間平局次數為:{level_score}') elif score_A<score_B: print(f'本次比賽B勝,A總分為:{score_A},B總分為:{score_B},比賽期間平局次數為:{level_score}') else: print(f'本次比賽平局,雙方總分:A{score_A} vs B{score_B},比賽期間平局次數為:{level_score}')
關于“Python如何使用random模塊實現擲骰子游戲”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。