python - 如何在不引起错误的情况下比较值

标签 python python-2.7

<分区>

我正在处理我的 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: an integer is required.

我发现的问题来自于:

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 的值来查看我是否有匹配值而不需要整数吗?

最佳答案

if int(pos_X) == 1073: 

这将解决您的问题。

关于python - 如何在不引起错误的情况下比较值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27668890/

相关文章:

python - 如何使用 sanic API 返回 float (或整数)?

Python 'Integer devide by Zero' 错误 Pyglet 和 AVBin

python - 在蓝图/应用程序工厂中时,flask-cache 会导致名称错误

python - openssl,python请求错误: "certificate verify failed"

python - 网络x : How to create graph edges from a csv file?

python - 网页抓取器返回元素列表

Python,如何扩展 Decimal 类以添加有用的方法

python - 使用Cython加速连通分量算法

python - 如何判断Bottle服务器是否启动成功?

python - 数据与素数成正比的素数筛的空间复杂度是多少?