日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python 战舰_代码战争战舰受损或沉没Python

發(fā)布時(shí)間:2024/1/8 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 战舰_代码战争战舰受损或沉没Python 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我不確定是什么原因?qū)е挛覍?duì)下面的kata的解決方案失敗。在

如果我能很容易地測(cè)試3個(gè)案例。但是,這些測(cè)試用例的輸入不可用。在

這是我的解決方案的代碼,它不會(huì)因?yàn)樾贝?#xff0c;只是偶爾會(huì)漏掉一次命中。在def damaged_or_sunk(board, attacks):

# reverse board rows

board = board[::-1]

# function state variables

attack_count = 0

ship_lengths, hits = {}, []

# return values stored in dict

return_hash = {"sunk" : 0,

"damaged" : 0,

"not_touched" : 0,

"points" : 0}

# check board

for attack in attacks:

attack_count += 1

attack_index = (attack[0] - 1, attack[1] - 1)

for row in board:

for column in row:

if column != 0:

if attack_count == 1:

if column in ship_lengths:

ship_lengths[column] += 1

else:

ship_lengths[column] = 1

ship_index = (row.index(column), board.index(row))

if ship_index == attack_index:

hits.append(column)

if len(hits) >= len(attacks):

break

# catagorize hits

for ship in ship_lengths.keys():

if hits.count(ship) == ship_lengths[ship]:

return_hash["sunk"] += 1

elif ship not in hits:

return_hash["not_touched"] += 1

else:

return_hash["damaged"] += 1

# calculate points

for return_val in return_hash.keys():

if return_val == "sunk":

return_hash["points"] += return_hash["sunk"]

elif return_val == "damaged":

return_hash["points"] += (return_hash["damaged"] / 2)

elif return_val == "not_touched":

return_hash["points"] -= return_hash["not_touched"]

return return_hash

總結(jié)

以上是生活随笔為你收集整理的python 战舰_代码战争战舰受损或沉没Python的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。