2016-05-16 4 views
0

Мне нужно напечатать значение с некоторым размером, используя условие.Напишите цикл с использованием python

size, url 
1 https://api-glb-ams.smoot.apple.com/user_guid? 
3257 https://init.itunes.apple.com/WebObjects/MZInit.woa/wa/signSapSetupCert 
0 http://engine.rbc.medialand.ru/code? 
35 http://www.google-analytics.com/collect? 
0 http://engine.rbc.medialand.ru/test? 
0 http://engine.rbc.medialand.ru/code? 

Я получаю его в петлю, и я стараюсь, чтобы получить все url, где size более 43.

if not size: 
    continue 
elif size[0] < 43: 
    continue 
else: 
    print size[0], url 

If состояние работы, но elif не делает. Он печатает все size и url

+0

Вы читаете это из файла? Если тогда проблема может быть связана с типом строки – nu11p01n73R

ответ

2

В Python 2, который вы используете, строки можно сравнить с целыми числами. Строки всегда сравниваются как большие, чем целые числа.

>>> '35' < 43 
False 

Чтобы решить эту проблему, заключите строку в int() вызова:

>>> int('35') < 43 
True 

Для вашей программы:

elif int(size[0]) < 43: 
+0

, то спасибо за ваш ответ! –

Смежные вопросы