如何在Python中修复“不支持的操作数类型”?

时间:2016-09-05 19:01:26

标签: python runtime-error

total=0
output=("enter next sales value")
sales=input
total_sales=total+sales

我一直收到这个错误:

  

Traceback(最近一次调用last):TypeError中的文件“python”,第4行:+:'int'和'builtin_function_or_method'

不支持的操作数类型

1 个答案:

答案 0 :(得分:-1)

您必须使用input()而不是input。 而且在python 3中,input()函数返回一个字符串,而不是一个整数。因此,要在添加中使用返回值,必须将其指定为整数:

roster = []
rowspans = {}  # track rowspanning cells
# every second row in the table
rows = page.select('html > body > center > table > tr')[1:21:2]
for block, row in enumerate(rows, 1):
    # take direct child td cells, but skip the first cell:
    daycells = row.select('> td')[1:]
    rowspan_offset = 0
    for daynum, daycell in enumerate(daycells, 1):
        # rowspan handling; if there is a rowspan here, adjust to find correct position
        daynum += rowspan_offset
        while rowspans.get(daynum, 0):
            rowspan_offset += 1
            rowspans[daynum] -= 1
            daynum += 1
        # now we have a correct day number for this cell, adjusted for
        # rowspanning cells.
        # update the rowspan accounting for this cell
        rowspan = (int(daycell.get('rowspan', 2)) // 2) - 1
        if rowspan:
            rowspans[daynum] = rowspan

        texts = daycell.select("table > tr > td > font")
        if texts:
            # class info found
            teacher, classroom, course = (c.get_text(strip=True) for c in texts)
            roster.append({
                'blok_start': block,
                'blok_eind': block + rowspan,
                'dag': daynum,
                'leraar': teacher,
                'lokaal': classroom,
                'vak': course
            })

    # days that were skipped at the end due to a rowspan
    while daynum < 5:
        daynum += 1
        if rowspans.get(daynum, 0):
            rowspans[daynum] -= 1