我正在处理我的python脚本,因为我比较了该值以查看它是否与之匹配然后执行某些操作。
我遇到了我正在使用的代码的问题。
当我尝试这个时:
if pos_X == '1073':
#30 mins
if prog_width == '342':
programs_width = 181
#1 hour
if prog_width == '691':
programs_width = 181
#need to find out how to get the programs_width outside
self.getControl(prog_ids).setWidth(programs_width)
我可以传递if语句,但它会给我错误:TypeError:需要一个整数。
我发现的问题来自于此:
if pos_X == '1073':
如果我尝试这样做会有效,但它不会被传递:
if pos_X == 1073:
以下是元素列表:
16:00:21 T:7084 NOTICE: 375
16:00:21 T:7084 NOTICE: 724
16:00:21 T:7084 NOTICE: 2804
16:00:21 T:7084 NOTICE: 5226
16:00:21 T:7084 NOTICE: 5924
16:00:21 T:7084 NOTICE: 6273
16:00:21 T:7084 NOTICE: 6622
16:00:21 T:7084 NOTICE: 6971
16:00:21 T:7084 NOTICE: 7320
16:00:21 T:7084 NOTICE: 7669
16:00:21 T:7084 NOTICE: 8018
16:00:21 T:7084 NOTICE: 8716
16:00:21 T:7084 NOTICE: 9065
16:00:21 T:7084 NOTICE: 9414
16:00:21 T:7084 NOTICE: 9763
16:00:21 T:7084 NOTICE: 10112
16:00:21 T:7084 NOTICE: 10461
16:00:21 T:7084 NOTICE: 10810
16:00:21 T:7084 NOTICE: 11159
16:00:21 T:7084 NOTICE: 11508
16:00:21 T:7084 NOTICE: 11857
16:00:21 T:7084 NOTICE: 12206
16:00:21 T:7084 NOTICE: 13937
16:00:21 T:7084 NOTICE: 14635
16:00:21 T:7084 NOTICE: 14984
16:00:21 T:7084 NOTICE: 15333
16:00:21 T:7084 NOTICE: 15682
16:00:21 T:7084 NOTICE: 16031
16:00:21 T:7084 NOTICE: 16380
16:00:21 T:7084 NOTICE: 16729
16:00:21 T:7084 NOTICE: 17078
16:00:21 T:7084 NOTICE: 17427
16:00:21 T:7084 NOTICE: 17776
16:00:21 T:7084 NOTICE: 18125
16:00:21 T:7084 NOTICE: 18474
16:00:21 T:7084 NOTICE: 18823
16:00:21 T:7084 NOTICE: 19172
16:00:21 T:7084 NOTICE: 19521
16:00:21 T:7084 NOTICE: 19870
16:00:21 T:7084 NOTICE: 20219
16:00:21 T:7084 NOTICE: 20568
16:00:21 T:7084 NOTICE: 20917
16:00:21 T:7084 NOTICE: 22648
16:00:21 T:7084 NOTICE: 23346
16:00:21 T:7084 NOTICE: 23695
16:00:21 T:7084 NOTICE: 24044
16:00:21 T:7084 NOTICE: 24393
16:00:21 T:7084 NOTICE: 24742
16:00:21 T:7084 NOTICE: 25091
16:00:21 T:7084 NOTICE: 25440
16:00:21 T:7084 NOTICE: 26138
16:00:21 T:7084 NOTICE: 26487
16:00:21 T:7084 NOTICE: 26836
16:00:21 T:7084 NOTICE: 27185
16:00:21 T:7084 NOTICE: 27534
16:00:21 T:7084 NOTICE: 27883
16:00:21 T:7084 NOTICE: 28232
16:00:21 T:7084 NOTICE: 28581
16:00:21 T:7084 NOTICE: 28930
16:00:21 T:7084 NOTICE: 29279
16:00:21 T:7084 NOTICE: 29628
16:00:21 T:7084 NOTICE: 31359
16:00:21 T:7084 NOTICE: 32057
16:00:21 T:7084 NOTICE: 32406
16:00:21 T:7084 NOTICE: 32755
16:00:21 T:7084 NOTICE: 33104
16:00:21 T:7084 NOTICE: 33453
16:00:21 T:7084 NOTICE: 33802
16:00:21 T:7084 NOTICE: 34151
16:00:21 T:7084 NOTICE: 375
16:00:21 T:7084 NOTICE: 1073
pos_X
的类型是str。
您能告诉我如何将值与pos_X
进行比较,看看我是否有匹配值而不需要整数?
答案 0 :(得分:3)
if int(pos_X) == 1073:
这将解决您的问题。
答案 1 :(得分:0)
做
int(pos_X) == 1073
要匹配这两个值,您需要将pos_X转换为整数。
答案 2 :(得分:-1)
在pos_X == '1073'
中,您正在比较pos_X
是否为'1073'
(等于'1'+'0'+'7'+'3'
的STRING),而pos_X == 1073
则比较为INTEGER值1073(1000 + 70 + 3)。您需要使用str
或int
方法从/转换为字符串或整数,然后进行比较。
因此:
1073 == int('1073')
和
'1073' == str(1073)