我试图用来自用户的信息在Python中制作一个足球联赛表。我遇到的问题是获得row[6]
(目标差异)和row[7]
(点)来执行正确的过程并将其放入.csv
文件中的正确单元格中。在我的代码中row[4]
=目标,row [5]
=目标,row[1]
=胜利,row[2]
=抽奖。
codebox("This teams current league positioning is as follow:", title, y + "\n" + x)
msg = "What do you wish to change?"
title = "League change"
fields = ["Team name("+row[0]+")", "W("+row[1]+")", "D("+row[2]+")", "L("+row[3]+")", "GF("+row[4]+")", "GA("+row[5]+")"]
x = int(row[4])
y = int(row[5])
row[6] = x - y
row[7] = (row[1]*3) + row[2]
reply = multenterbox(msg,title,fields)
table_n.writerow(reply) + str(row[6]) + str(row[7])
else:
table_n.writerow(row)
我在这里得到的错误如下:
TypeError:+:' NoneType'不支持的操作数类型和' str'
任何指导都将不胜感激。 谢谢
答案 0 :(得分:1)
我相信easygui的multenterbox()
会返回字段值的列表,从您的代码看起来它们就是行的元素0-5。您需要做什么来编写它们以及writerow()
调用中的第6-7行。这可以通过将最后两个组合到一个列表中,将它们添加到回复列表,并将其传递给writerow()
来完成:
table_n.writerow(reply + [str(row[6]), str(row[7])])
我不确定是否需要拨打str()
。
答案 1 :(得分:0)
错误在于您尝试将字符串添加到table_n.writerow(reply)
的返回值,这可能是None。你想要做的是将字符串添加到一起
table_n.writerow(reply + str(row[6]) + str(row[7]))