错误:预期为整数参数,浮点数

时间:2019-07-20 08:27:03

标签: python integer arguments

我刚刚尝试从YouTube复制一些游戏代码。运行代码后,它给出以下错误:

  

预期的整数论点,浮点数

据我说,问题出在w.addch(food[0], food[1], curses.ACS_PI)行。该怎么办?

import random
import curses

s = curses.initscr()
curses.curs_set(0)
sh, sw = s.getmaxyx()
w = curses.newwin(sh, sw, 0 , 0)
w.keypad(1)
w.timeout(100)

snk_x = sw/4
snk_y = sh/2
snake = [
    [snk_y, snk_x],
    [snk_y, snk_x - 1],
    [snk_y, snk_x - 2]
]

food = [sh/2,sw/2]
w.addch(food[0], food[1], curses.ACS_PI)

2 个答案:

答案 0 :(得分:1)

使用底数分区//而不是普通分区/。后者总是导致Python 3中的浮动。

w.addch需要整数。

答案 1 :(得分:1)

如果是旧代码,则可以在Python 2上运行。

Python 2中的整数除法会生成另一个整数。

在Python 3中,它会产生一个浮点数。

您需要将除法结果转换为整数(如果需要的话)。

snk_x = int(sw / 4)
snk_y = int(sh / 2)

food = [int(sh / 2), int(sw / 2)]