前提
python です
2分探索を書いてます
実現したいこと
2分探索で途中のdata[left],data[mid],data[right]の数値の変化が見たいので1行でprint関数で表示されるようにしたい
発生している問題・エラーメッセージ
TypeError: str() argument 'encoding' must be str, not int
もしくは
TypeError: list indices must be integers or slices, not tuple
該当のソースコード
data = [1, 2, 9, 16, 22, 25, 30, 40, 50, 57, 72, 78, 82, 94, 100] key=int(input("入力してください")) left=0 right=len(data)-1 flg=0 while left<right: mid=(left+right)//2 print("L={} M={} R={}".format(left,mid,right)) print(str(data[left],data[mid],data[right])) if data[mid]==key: print("data[{}]が{}です".format(mid,key)) flg=1 break if data[mid]<key: left=mid+1 else: right=mid-1 if flg==0: print("その値は見つかりませんでした")``` ```ここに言語を入力 コード
試したこと
print(str(data[left])だけならでるのにdata[right]もたすとでなくなる
質問編集しました、ご指摘ありがとうございました