Вы можете использовать цикл while
, например:
offset = 0
end_reached = false
while !end_reached
response1 = External::getdataApi.call({country_ids: 'gb', extras: 'hotel_info', offset: offset})
response1 = response1.instance_variable_get(:@response)
# increase offset by 1000
offset += 1000
# if result count is different from 1000 means the end was reached, set end_reached var to true so loop ends
end_reached = true if response1['result'].count != 1000
end
или цикл until
, например:
offset = 0
end_reached = false
until end_reached
response1 = External::getdataApi.call({country_ids: 'gb', extras: 'hotel_info', offset: offset})
response1 = response1.instance_variable_get(:@response)
# increase offset by 1000
offset += 1000
# if result count is different from 1000 means the end was reached, set end_reached var to true so loop ends
end_reached = true if response1['result'].count != 1000
end
Я предпочитаю последний, потому что думаю это читается лучше
Командная строка Windows (cmd.exe) не может отобразить символы Unicode, которые Вы используете, даже при том, что Python обрабатывает ее корректным способом внутренне. Необходимо использовать НЕАКТИВНЫЙ, Cygwin или другая программа, которая может отобразить Unicode правильно.
Посмотрите этот поток для полного объяснения: http://www.nabble.com/unable-to-print-Unicode-characters-in-Python-3-td21670662.html
Проверьте вопрос и ответ здесь , я думаю, что у них есть некоторые ценные подсказки. А именно, отметьте setdefaultencoding
в sys
модуль, но также и то, что Вы, вероятно, не должны использовать его.