簡體   English   中英

在變量最后一個元素的函數中分配特定值

[英]Assigning specific value in function of variable last element

無論如何,我可以以更干凈和優化的方式做到這一點嗎?

def get_player_move(move):
    letter=""
    ciff =""
    if move[0]=="1":
        letter ="A"

    elif move[0]=="2":
        letter = "B"

    elif move[0]=="3":
        letter ="C"

    elif move[0]== "4":
        letter ="D"



    if move[1]=="1":
        ciff ="4" 

    elif move[1]=="2":
        ciff ="3"

    elif move[1]== "3":
        ciff="2"
    elif move[1]== "4":

        ciff="1"

    player_move = letter+ciff
    return player_move

移動從這里獲取他的值get_player_move(source.objectName()[-1] + source.objectName()[12])所以我必須將 4321 更改為 1234

你可以用你的letters聲明一個列表,用你的numbers聲明一個列表

var letters = ["A", "B", "C", "D"]
var numbers = ["1", "2", "3", "4"]

只需使用indexing

player_move = letters[int(move[0]) - 1] + numbers[len(numbers) - int(move[1])]

另一種方法和一個更短的解決方案可能是使用chr函數 例如, chr(97)返回a ,所以在我們的版本A可以得到

chr(96 + int(move[0])).upper()

因此,使用我上面描述的方法,我們有一行solution

def get_player_move(move):
     return chr(96 + int(move[0])).upper() + str(4 - int(move[1]) + 1)
print(get_player_move(["1", "2"]))

輸出

A3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM