我刚从YouTube上复制了一些游戏代码。运行代码后,它会给出以下错误:
integers argument expected, got float
据我所知,问题是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)
如果它是旧代码,那么它就可以在python2上工作。你知道吗
python2中的整数除法产生另一个整数。你知道吗
在python3中,它生成一个float。你知道吗
您需要将除法的结果转换为整数(如果需要的话)。你知道吗
以及
使用楼层分割
//
而不是普通分割/
。后者在python3中总是导致一个float。你知道吗w.addch
应为整数。你知道吗相关问题 更多 >
编程相关推荐