我必須在一個類中創建一個基本的FSM,並用Python編寫它。該任務要求我們從文本文件中讀取機器的轉換。因此,例如,有3個狀態,每個有2個可能的過渡,與可能的輸入「A」和「b」一個FSM,wolud有一個文本文件,它看起來像這樣:在int()調用Python優雅失敗?
2 # first line lists all final states
0 a 1
0 b 2
1 a 0
1 b 2
2 a 0
2 b 1
我想想出一種更加pythonic的方式來一次讀取一行,並將狀態轉換爲整數,同時將輸入值保留爲字符串。基本上這是這樣的想法:
self.finalStates = f.readline().strip("\n").split(" ")
for line in f:
current_state, input_val, next_state = [int(x) for x in line.strip("\n").split(" ")]
當然,當它試圖int(「a」)它會引發一個ValueError。我知道我可以使用一個傳統的循環,只是趕上ValueError,但我希望有一個更Pythonic這樣做的方式。
「蟒蛇法」你是什麼意思?寫大難幾行代碼? – Oduvan