主頁(yè) > 知識(shí)庫(kù) > Python使用random模塊實(shí)現(xiàn)擲骰子游戲的示例代碼

Python使用random模塊實(shí)現(xiàn)擲骰子游戲的示例代碼

熱門(mén)標(biāo)簽:悟空智電銷(xiāo)機(jī)器人6 幫人做地圖標(biāo)注收費(fèi)算詐騙嗎 遼寧400電話辦理多少錢(qián) 溫州旅游地圖標(biāo)注 蘇州電銷(xiāo)機(jī)器人十大排行榜 外呼不封號(hào)系統(tǒng) 江蘇房產(chǎn)電銷(xiāo)機(jī)器人廠家 荊州云電銷(xiāo)機(jī)器人供應(yīng)商 電信營(yíng)業(yè)廳400電話申請(qǐng)

引入內(nèi)容

根據(jù)人民郵電出版社出版的《Python程序設(shè)計(jì)現(xiàn)代設(shè)計(jì)方法》P102習(xí)題中的第7題——擲骰子游戲,進(jìn)行代碼編寫(xiě)。

題目要求

一盤(pán)游戲中,兩人輪流擲骰子5次,并將每次擲出的點(diǎn)數(shù)累加,5局之后,累計(jì)點(diǎn)數(shù)較大者獲勝,點(diǎn)數(shù)相同則為平局。根據(jù)此規(guī)則實(shí)現(xiàn)擲骰子游戲,并算出50盤(pán)之后的勝利者( 50盤(pán)中嬴得盤(pán)數(shù)最多的,即最終勝利者)。

審題: 共有50盤(pán)游戲。一盤(pán)游戲有5局,每一局雙方各擲骰子一次,5局結(jié)束以后統(tǒng)計(jì)分?jǐn)?shù),分?jǐn)?shù)高的一方獲勝。至此,一盤(pán)游戲結(jié)束。50盤(pán)游戲結(jié)束后,贏得盤(pán)數(shù)最多的一方為最終勝利者。

編寫(xiě)開(kāi)始

↓↓↓開(kāi)始奇妙Python之旅吧!↓↓↓

模塊的導(dǎo)入以及初始變量的定義

統(tǒng)一聲明變量,便于后續(xù)的管理和使用。

import random  #導(dǎo)入模塊
# ↓↓↓ 定義初始變量
a =0  # 用來(lái)記錄人物A擲投擲的結(jié)果
b =0  # 用來(lái)記錄人物B擲投擲的結(jié)果
level_score =0  # 用來(lái)記錄雙方平局次數(shù)
score_A =0  # 人物A的每小局勝利次數(shù)
score_B =0  # 人物B的每小局勝利次數(shù)

開(kāi)始比賽過(guò)程

本處用了for … in range(50)循環(huán)模擬進(jìn)行50盤(pán)游戲。并在循環(huán)內(nèi)嵌套新的for … in …range(5)作為每盤(pán)游戲中進(jìn)行5次過(guò)程的模擬

for x in range(50):  # 進(jìn)行50盤(pán)比賽
    for n in range(5):  # 模擬雙方每盤(pán)搖5次骰子
        person_A =random.randint(1,6)  # 使用random模塊的randit進(jìn)行1~6模擬搖骰子的過(guò)程
        a +=person_A  # 將投擲結(jié)果保存

        person_B =random.randint(1,6)# 使用random模塊的randit進(jìn)行1~6模擬搖骰子的過(guò)程
        b +=person_B  # 將投擲結(jié)果保存
    if a>b:  # 比較雙方投擲結(jié)果總和,將比較結(jié)果保存至本場(chǎng)比賽最終結(jié)果
        score_A+=1
    elif ab:
        score_B+=1
    else:
        level_score+=1
    a =0  # 重置雙方分?jǐn)?shù),并進(jìn)入下一輪循環(huán)
    b =0  # 重置雙方分?jǐn)?shù),并進(jìn)入下一輪循環(huán)
    # 此處如果不重置分?jǐn)?shù),本次投擲結(jié)果將會(huì)進(jìn)入下一次循環(huán),有悖題目要求和比賽公平性。

比賽結(jié)束以后統(tǒng)計(jì)結(jié)果

前面我們對(duì)每盤(pán)游戲進(jìn)行了模擬,現(xiàn)在我們要書(shū)寫(xiě)題目最后的要求的代碼。
因?yàn)榍懊嬗昧藄core_A和score_B作為用來(lái)記錄每盤(pán)游戲結(jié)束的變量,所以此處我們只需要對(duì)之前的變量進(jìn)行大小比較即可。

if score_A>score_B:  # 比較最終結(jié)果,游戲結(jié)束
    print(f'本次比賽A勝,A總分為:{score_A},B總分為:{score_B},比賽期間平局次數(shù)為:{level_score}')
elif score_Ascore_B:
    print(f'本次比賽B勝,A總分為:{score_A},B總分為:{score_B},比賽期間平局次數(shù)為:{level_score}')
else:
    print(f'本次比賽平局,雙方總分:A{score_A} vs B{score_B},比賽期間平局次數(shù)為:{level_score}')

完整代碼

import random  #導(dǎo)入模塊
# ↓↓↓ 定義初始變量
a =0  # 用來(lái)記錄人物A擲投擲的結(jié)果
b =0  # 用來(lái)記錄人物B擲投擲的結(jié)果
level_score =0  # 用來(lái)記錄雙方平局次數(shù)
score_A =0  # 人物A的每小局勝利次數(shù)
score_B =0  # 人物B的每小局勝利次數(shù)

for x in range(50):  # 進(jìn)行50盤(pán)比賽
    for n in range(5):  # 模擬雙方每盤(pán)搖5次骰子
        person_A =random.randint(1,6)  # 使用random模塊的randit進(jìn)行1~6模擬搖骰子的過(guò)程
        a +=person_A  # 將投擲結(jié)果保存

        person_B =random.randint(1,6)# 使用random模塊的randit進(jìn)行1~6模擬搖骰子的過(guò)程
        b +=person_B  # 將投擲結(jié)果保存
    if a>b:  # 比較5局以后雙方投擲結(jié)果總和,將比較結(jié)果保存至本場(chǎng)比賽最終結(jié)果
        score_A+=1 # A本盤(pán)獲勝
    elif ab: # B本盤(pán)獲勝
        score_B+=1
    else:
        level_score+=1
    a =0  # 重置雙方分?jǐn)?shù),并進(jìn)入下一輪循環(huán)
    b =0  # 重置雙方分?jǐn)?shù),并進(jìn)入下一輪循環(huán)
    # 此處如果不重置分?jǐn)?shù),本次投擲結(jié)果將會(huì)進(jìn)入下一次循環(huán),有悖題目要求和比賽公平性。

if score_A>score_B:  # 比較最終結(jié)果,游戲結(jié)束
    print(f'本次比賽A勝,A總分為:{score_A},B總分為:{score_B},比賽期間平局次數(shù)為:{level_score}')
elif score_Ascore_B:
    print(f'本次比賽B勝,A總分為:{score_A},B總分為:{score_B},比賽期間平局次數(shù)為:{level_score}')
else:
    print(f'本次比賽平局,雙方總分:A{score_A} vs B{score_B},比賽期間平局次數(shù)為:{level_score}')

到此這篇關(guān)于Python使用random模塊實(shí)現(xiàn)擲骰子游戲的示例代碼的文章就介紹到這了,更多相關(guān)Python random擲骰子內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python中random模塊詳解
  • Python random模塊的使用示例
  • Python中random模塊常用方法的使用教程
  • Python random模塊制作簡(jiǎn)易的四位數(shù)驗(yàn)證碼
  • 一篇文章帶你了解python標(biāo)準(zhǔn)庫(kù)--random模塊

標(biāo)簽:宿遷 濟(jì)南 景德鎮(zhèn) 三沙 欽州 黃山 喀什 臺(tái)灣

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python使用random模塊實(shí)現(xiàn)擲骰子游戲的示例代碼》,本文關(guān)鍵詞  Python,使用,random,模塊,實(shí)現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python使用random模塊實(shí)現(xiàn)擲骰子游戲的示例代碼》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Python使用random模塊實(shí)現(xiàn)擲骰子游戲的示例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章