我的代码都能正常工作,列表也能正常工作,但由于某种原因,当我尝试对其排序时,列表不会按升序排序,而是按随机顺序排序命令。所以当列表发生变化时,它不会按降序排列。当我尝试x.sort(reverse=True)时,弹出一条错误消息,说它不能是整数形式。 有人能帮我吗?你知道吗
score=input('What is your score?')
Scorefile=open('score.txt','a')
Scorefile.write(score)
Scorefile.write("\n")
Scorefile.close()
Scorefile = open('score.txt','r')
with open('score.txt','r') as Scorefile:
scores=Scorefile.readline()
List=[]
while scores:
scores2=(scores.strip())
int(scores2)
List.append(scores2)
scores=Scorefile.readline()
List.sort()
print(List)
#Output(not in ascending order)
['12', '12', '12', '12', '12', '13', '15', '17', '4', '5', '6']
它不是排序数字,而是排序字符串。作为字符串,它们被排序。你知道吗
你可以通过改变这条线来解决这个问题
对这件事。你知道吗
现在您正在将值转换为整数,但实际上并没有在任何地方使用该整数。我想这就是混乱的根源。你知道吗
元素是字符串(类型
str
),而不是整数(类型int
)。您的代码目前似乎是按字母顺序排序。你知道吗在排序之前,请尝试将元素转换为
int
。更改代码中的以下行:对此:
一行上的语句
int(scores2)
本身没有任何用处,您必须使用int()
的输出。你知道吗相关问题 更多 >
编程相关推荐