一文字違っても…文字列型になると字が緑に変わる エラーの見つけ方を一つ覚えました
久々に退屈なことはpythonにやらせようを読んでいます。
第5章、P124。つまずきました。
どこが間違っているのか。探してもなかなかみつかりません。
が、上の エラーメッセージをよく読むと。
「for k, v in guests.item():
AttributeError: 'dict' object has no attribute 'item'」
7行目の○guests.items が×guest.item となっていました。
その前、P120 下記、やはりエラーが。
どこが間違っているでしょうか?
the_board = {'top-L: ' ' , 'top-M': ' ', 'top-R': ' ',
'mid-L: ' ' , 'mid-M': ' ', 'mid-R': ' ',
'low-L: ' ' , 'low-M': ' ', 'low-R': ' '}
def print_board(board):
print(board['top-L'] + 'I' + board['top-M'] + 'I' + board['top-R'])
print('-+-+-')
print(board['mid-L'] + 'I' + board['mid-M'] + 'I' + board['mid-R'])
print('-+-+-')
print(board['low-L'] + 'I' + board['low-M'] + 'I' + board['low-R'])
print_board(the_board)
正解は、 ×{'top-L: ' ' →○ {'top-L': ' '
top-Lを 「’ ’」シングルクォートでくるまないといけないんですが、片方が抜けていました。
この見分け方。「’ ’」でくるんで文字列(str)型になると字が緑に変わるんですね。
上記の間違った記述では、文字列が黒いままでした。top-L → top-L
文字列型になると緑に変わる
覚えておこうと思いました。