ユーザーが入力した一連の数字をバブルソートするプログラムを開発しています。小さな構文エラーがあるようです。これは私が持っているものです:
my_list = '[' + input('Please enter 5 numbers, separated by commas. ') + ']'
length = len(my_list)
for i in range(length):
for j in range(length-1):
if my_list[j] > my_list[j+1]:
my_list[j], my_list[j+1] = my_list[j+1], my_list[j]
print(my_list)
これは私に次のように返します:
File "C:/Users/Luke/Dropbox/Programming/SDD real.py", line 19, in <module>
my_list[j], my_list[j+1] = my_list[j+1], my_list[j]
TypeError: 'str' オブジェクトは項目の割り当てをサポートしていません
my_list を [1,5,2,3,4] のような定義済みの数値リストに設定すると、バブルソートは意図したとおりに機能します。ユーザーが入力した数値を配列に正しく格納する方法を理解する必要があるだけです。
ありがとうございました。