我完全不知道如何将列表更改为int。
#Creates a list which is populated by whole names and scores
whole_names = list()
scores = list()
for line in lines:
# Makes each word a seperate object
objects = line.split(" ")
# Joins the first and last name of every line and makes them
their own seperate objects
whole_names.append(" ".join(objects[0:2]))
# Makes the scores of every line an object
scores.append(objects[2:3])
rect = Rectangle(Point(2, y-50), Point(scores[0],y-25))
rect.setFill("darkgreen")
rect.draw(win)
问题是,Point(得分[0],y-25))不会填充,因为得分[0]是一个列表,而不是一个int,所以它在技术上不能是一个坐标,而是得分的实际值[该列表中的0]将是一个随机数,我不知道它将是什么数字,但它实际上是一个整数。那么如何将得分[0]转换为随机整数?我试过了 得分= int(得分),但根本不起作用。
答案 0 :(得分:2)
假设scores[0]
类似于['10']
:
Point(int(scores[0][0]), y-25)
然而,这不是正确的解决方案。为了做到更好,请更改此行:
scores.append(objects[2:3])
返回一个序列,对此:
scores.append(objects[2])
返回项目本身。有了这个,你只需要立即将它转换为整数:
Point(int(scores[0]), y-25)
希望这有帮助!
答案 1 :(得分:2)
scores.append(objects[2:3])
这一行给你一个1元素的序列,这可能不是你想要的。索引而不是切片。
scores.append(objects[2])