欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python 尼姆游戲

老白2年前8瀏覽0評(píng)論

Python是一種廣泛使用的編程語(yǔ)言,其具有出色的功能和靈活性,使其成為許多開(kāi)發(fā)人員和數(shù)據(jù)科學(xué)家的首選語(yǔ)言。Python的一個(gè)優(yōu)點(diǎn)是其豐富的庫(kù)和工具,可用于各種目的,包括游戲編程。Python編程可以用于編寫(xiě)各種類(lèi)型的游戲,其中包括經(jīng)典的尼姆游戲。

# Python 程序設(shè)計(jì): 尼姆游戲
def human_move(stones):
print "現(xiàn)在有", stones, "石頭"
remove = int(raw_input("請(qǐng)您輸入玩家取石子數(shù): "))
while remove< 1 or remove >3 or remove >stones:  # 輸入合法性檢查
remove = int(raw_input("輸入無(wú)效! 請(qǐng)重新輸入: "))
return remove
def computer_move(stones):
WINNING_POSITIONS = {0: 1, 1: 1, 2: 1, 3: 2, 4: 1, 5: 3, 6: 2, 7: 1, 8: 4, 9: 3, 10: 5, 11: 2, 12: 3, 13: 5, 14: 4, 15: 1}
if stones in WINNING_POSITIONS:
return WINNING_POSITIONS[stones]
return 1
def play_Nim():
stones = 16  # 可以修改墩子的數(shù)量
player = 1   # 玩家先走
while True:
print "\n墩子上剩余的石頭數(shù)量是:", stones
if player == 1:  # 玩家走
remove = human_move(stones)
else:           # 計(jì)算機(jī)走
print "輪到電腦走了。"
remove = computer_move(stones)
print "電腦取走了", remove, "石頭。"
stones -= remove   # 更新剩余的石頭數(shù)量
if stones == 0:   # 游戲結(jié)束
if player == 1:
print "\n您贏了! 恭喜!"
else:
print "\n電腦贏了! 再來(lái)一局試試吧。"
break
player = 3 - player      # 輪到另一個(gè)玩家走
print "游戲結(jié)束。再見(jiàn)!"
play_Nim()

上面的Python代碼定義了一個(gè)尼姆游戲,玩家可以與計(jì)算機(jī)進(jìn)行對(duì)戰(zhàn)。該程序使用兩個(gè)不同的函數(shù)來(lái)移動(dòng)石頭:human_move()和computer_move()。human_move函數(shù)要求玩家輸入從墩子上移除的石頭數(shù)量,并檢查輸入的合法性。computer_move函數(shù)則計(jì)算計(jì)算機(jī)應(yīng)該從墩子上移除多少石頭。

該程序使用while循環(huán)來(lái)處理玩家和計(jì)算機(jī)的交替移動(dòng),直到墩子上的石頭數(shù)量為零。一旦游戲結(jié)束,該程序會(huì)輸出勝利者的結(jié)果,并退出游戲。