cords = []
for y in range(10):
for x in range(10):
cords.append((x, y))
print cords
print cords[11]
user_x=raw_input("X: ")
user_y=raw_input("Y: ")
xy = "("+user_x+", "+user_y+")"
print xy
if xy in cords:
print "Found Match"
我的问题是,当给出1和1或任何其他匹配时,为什么不打印“找到匹配”?
答案 0 :(得分:5)
因为字符串永远不会等于元组。
xy = (int(user_x), int(user_y))
答案 1 :(得分:2)
我没有运行代码,但它看起来像:
xy =“(”+ user_x +“,”+ user_y +“)”
是这样的字符串:
“(3,2)”
您的列表是元组列表。
答案 2 :(得分:1)
因为"("+user_x+", "+user_y+")"
会产生一个字符串,而您的cords
列表会包含整数元组。
不应该构造一个字符串,而应该将x和y值放在一个元组中,如下所示:
xy = (user_x, user_y)
甚至只是:
if (user_x, user_y) in cords:
print "Found Match"
答案 3 :(得分:0)
哇。好吧,我可以看到至少有两个问题。
首先,坐标在创建时是整数。 raw_input
返回一个字符串。
其次,xy
是一个字符串,坐标是元组。
答案 4 :(得分:0)
>>> type(xy)
<type 'str'>
>>> type(cords[11])
<type 'tuple'>