国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:4日期:2022-06-20 17:19:16
引入內(nèi)容

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

題目要求

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

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

編寫開始

↓↓↓開始奇妙Python之旅吧!↓↓↓

模塊的導入以及初始變量的定義

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

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

本處用了for … in range(50)循環(huán)模擬進行50盤游戲。并在循環(huán)內(nèi)嵌套新的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 # 將投擲結(jié)果保存person_B =random.randint(1,6)# 使用random模塊的randit進行1~6模擬搖骰子的過程b +=person_B # 將投擲結(jié)果保存 if a>b: # 比較雙方投擲結(jié)果總和,將比較結(jié)果保存至本場比賽最終結(jié)果score_A+=1 elif a<b:score_B+=1 else:level_score+=1 a =0 # 重置雙方分數(shù),并進入下一輪循環(huán) b =0 # 重置雙方分數(shù),并進入下一輪循環(huán) # 此處如果不重置分數(shù),本次投擲結(jié)果將會進入下一次循環(huán),有悖題目要求和比賽公平性。比賽結(jié)束以后統(tǒng)計結(jié)果

前面我們對每盤游戲進行了模擬,現(xiàn)在我們要書寫題目最后的要求的代碼。因為前面用了score_A和score_B作為用來記錄每盤游戲結(jié)束的變量,所以此處我們只需要對之前的變量進行大小比較即可。

if score_A>score_B: # 比較最終結(jié)果,游戲結(jié)束 print(f’本次比賽A勝,A總分為:{score_A},B總分為:{score_B},比賽期間平局次數(shù)為:{level_score}’)elif score_A<score_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 #導入模塊# ↓↓↓ 定義初始變量a =0 # 用來記錄人物A擲投擲的結(jié)果b =0 # 用來記錄人物B擲投擲的結(jié)果level_score =0 # 用來記錄雙方平局次數(shù)score_A =0 # 人物A的每小局勝利次數(shù)score_B =0 # 人物B的每小局勝利次數(shù)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 # 將投擲結(jié)果保存person_B =random.randint(1,6)# 使用random模塊的randit進行1~6模擬搖骰子的過程b +=person_B # 將投擲結(jié)果保存 if a>b: # 比較5局以后雙方投擲結(jié)果總和,將比較結(jié)果保存至本場比賽最終結(jié)果score_A+=1 # A本盤獲勝 elif a<b: # B本盤獲勝score_B+=1 else:level_score+=1 a =0 # 重置雙方分數(shù),并進入下一輪循環(huán) b =0 # 重置雙方分數(shù),并進入下一輪循環(huán) # 此處如果不重置分數(shù),本次投擲結(jié)果將會進入下一次循環(huán),有悖題目要求和比賽公平性。if score_A>score_B: # 比較最終結(jié)果,游戲結(jié)束 print(f’本次比賽A勝,A總分為:{score_A},B總分為:{score_B},比賽期間平局次數(shù)為:{level_score}’)elif score_A<score_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模塊實現(xiàn)擲骰子游戲的示例代碼的文章就介紹到這了,更多相關(guān)Python random擲骰子內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 西丰县| 太仓市| 丹东市| 宝兴县| 郁南县| 阜阳市| 廊坊市| 吉水县| 仪征市| 渭南市| 丰宁| 化州市| 馆陶县| 藁城市| 庄浪县| 库车县| 昌吉市| 皋兰县| 册亨县| 贵港市| 都昌县| 方山县| 漾濞| 岗巴县| 华坪县| 登封市| 健康| 泗水县| 黔东| 兰考县| 蒲城县| 玉树县| 朝阳市| 大余县| 通河县| 若尔盖县| 廊坊市| 德保县| 磐石市| 子洲县| 莱州市|