我已經在python 2中編寫了一個簡單的腳本來訓練我對平假名字母的瞭解。請參閱下面的代碼:Python 3中的Unicode字符與Python 2
import random
ROMAJI = ['A','I','U','E','O','KA','KI','KU','KE','KO','SA','SHI','SU','SE','SO','TA','CHI','TSU','TE','TO','NA','NI','NU','NE','NO']
romaji_letter = random.choice(ROMAJI)
romaji_index = ROMAJI.index(romaji_letter)
A = u'\u3042'
I = u'\u3044'
U = u'\u3046'
E = u'\u3048'
O = u'\u304A'
KA = u'\u304B'
KI = u'\u304D'
KU = u'\u304F'
KE = u'\u3051'
KO = u'\u3053'
SA = u'\u3055'
SHI = u'\u3057'
SU = u'\u3059'
SE = u'\u305B'
SO = u'\u305D'
TA = u'\u305F'
CHI = u'\u3061'
TSU = u'\u3064'
TE = u'\u3066'
TO = u'\u3068'
NA = u'\u306A'
NI = u'\u306B'
NU = u'\u306C'
NE = u'\u306D'
NO = u'\u306E'
HIRAGANA = [A,I,U,E,O,KA,KI,KU,KE,KO,SA,SHI,SU,SE,SO,TA,CHI,TSU,TE,TO,NA,NI,NU,NE,NO]
print("\nWhich Hiragana character is the Romaji letter " + romaji_letter + " ?\n")
for letter in HIRAGANA:
print(letter.encode("UTF-8")+" "+str(HIRAGANA.index(letter))+"\n")
print("Choose the corresponding number and press [ENTER] : ")
userInput = raw_input()
try:
letter_index = int(userInput)
print("You have chosen letter "+HIRAGANA[letter_index].encode("UTF-8"))
if (letter_index == romaji_index):
print("The answer is correct!")
else:
print("The answer is incorrect!")
except:
print("Enter only the number of the corresponding letters!")
當我在python 2中執行它,它確實工作沒有問題。但是,當我嘗試使用python 3時,出現以下錯誤:
"Can't concat bytes to str"
有人可以通過解釋爲什麼會發生這種情況嗎?
哦,如果不知道這非常重要,但我使用Windows 7上的Fedora和Python 3蟒蛇2(與Visual Studio 2012一起使用Python的工具)
使用字典。 – 2015-03-19 10:56:58