我有一个用Python创建战列舰的任务,当用户从5x5网格输入坐标时,我想要弹出一个声明它超出范围的弹出窗口。我的问题是我收到一条错误消息,指出“无法解决的类型:int()> range()”,我是Python的新手,所以我不知道这意味着什么。
if guess_row == ship_row and guess_col == ship_col:
print ("Congratulations, you sank my battleship!")
else:
if guess_row > range(5) or guess_col > range(5):
print ("Out of Range!")
else:
print ("You missed my battleship")
grid[guess_row][guess_col]="X"
print_grid(grid)
答案 0 :(得分:1)
range(5)
是一个范围(实际上它是列表[0, 1, 2, 3, 4]
),而不是数字。一个数字怎么能大于一个范围?它不能,因此错误。
这些将起作用并且都是等效的:
guess_row not in range(5)
guess_row not in range(0, 5)
not (0 <= guess_row < 5)
not (0 <= guess_row <= 4)
guess_row < 0 or guess_row >= 5
guess_row < 0 or guess_row > 4