-1

我正在尝试根据用户的信息在 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)

我在这里得到的错误如下:

类型错误:+ 不支持的操作数类型:“NoneType”和“str”

任何指导将不胜感激。谢谢

4

2 回答 2

1

我相信 easygui 会multenterbox()返回一个字段值列表,从您的代码看来,它们是行的 0-5 元素。您需要做什么来编写它们以及writerow()调用中第 6-7 行中的内容。这可以通过将最后两个组合到一个列表中来完成,将它们添加到回复列表中,并将其传递给writerow()

table_n.writerow(reply + [str(row[6]), str(row[7])])

我不确定是否str()有必要拨打电话。

于 2015-01-08T13:49:10.910 回答
0

错误在于您试图将字符串添加到 的返回值table_n.writerow(reply),这可能是无。你想要做的是将字符串加在一起 table_n.writerow(reply + str(row[6]) + str(row[7]))

于 2015-01-08T12:22:04.187 回答