#24191: [Python] 較笨的方式 AC(22ms) 歡迎指教討論


4a830017@stust.edu.tw (陳翊嘉)


大家好,我是一個剛學習程式語言沒多久的學生,程式碼如下,應該會有比較聰明的寫法,但是目前沒有想到。請求各位大神指教。

 

CountNumber=0

def E2N(English):

    if English == "A":

        return "10"

   ...一直到"Z"

       return "33"

while 1:

    try:

        ID=str(input())

        EnglishToNumber=E2N(ID[0])

        EnglishToNumber=( int(EnglishToNumber[0]) + int(EnglishToNumber[1])*9 )      #英文轉為數字後做加、乘

           

        for i in range(9,1,-1):

                CountIdNumber=int(ID[-i])*int(i-1)

                CountNumber+=CountIdNumber

 

        CountNumber+=int(ID[-1])

 

        if (EnglishToNumber + CountNumber) % 10 == 0:

                print("real")

        else:

                print("fake")

 

 

    except:

 

        break

#24192: Re:[Python] 較笨的方式 AC(22ms) 歡迎指教討論


asnewchien@gmail.com (david)


寫的不錯,等寫熟一點可以把  def E2N(English) 改成 dict