エラーが発生しているpython 3.xプログラムがあります:
def main():
names = ['Ava Fischer', 'Bob White', 'Chris Rich', 'Danielle Porter',
'Gordon Pike', 'Hannah Beauregard', 'Matt Hoyle',
'Ross Harrison', 'Sasha Ricci', 'Xavier Adams']
entered = input('Enter the name of whom you would you like to search for:')
binary_search(names, entered)
if position == -1:
print("Sorry the name entered is not part of the list.")
else:
print(entered, " is part of the list and is number ", position, " on the list.")
input('Press<enter>')
def binary_search(names, entered):
first = 0
last = len(names) - 1
position = -1
found = False
while not found and first <= last:
middle = (first + last) / 2
if names[middle] == entered:
found = True
position = middle
Elif names[middle] > entered:
last = middle - 1
else:
first = middle + 1
return position
main()
エラーは:
TypeError: list indices must be integers, not float
このエラーメッセージの意味を理解できません。
関数testOnData()でANNとPyBrainを使用すると、この問題が発生しました。
したがって、backprop.pyソースコードのインデックス内に「/」ではなく「//」を配置することで、この問題を解決しました。
私が変更され:
print(('Max error:',
max(ponderatedErrors),
'Median error:',
sorted(ponderatedErrors)[len(errors) / 2])) # <-- Error area
に:
print(('Max error:',
max(ponderatedErrors),
'Median error:',
sorted(ponderatedErrors)[len(errors) // 2])) # <-- SOLVED. Truncated
それがあなたのお役に立てば幸いです。
私は間違っている可能性がありますが、この行:
binary_search(names, entered)
ではないだろう
position = binary_search(names, entered)