Я не уверен, что ваш подход к перевороту цифр гарантированно найдет наибольшее число next (по крайней мере, не без дальнейших проверок)
Здесь простое решение: просто увеличивайте номер входа и проверить, соблюдены ли условия или если номер не найден.
set()
можно использовать для получения набора уникальных цифр в номере.
input_num = '781623954'
next_num = int(input_num) + 1
input_digits = set(input_num)
found = False
while not found:
next_num += 1
next_digits = set(str(next_num))
found = len(next_digits) == 9 and input_digits == next_digits
if next_num > 987654321:
break
if found:
print(next_num)
else:
print("No number was found.")
Вы не можете сделать это непосредственно в качестве ограничений в своем composer.json
. Однако вы можете добиться этого, создав пакет мостов, который может определять разные зависимости для разных версий, которые могут иметь разные требования.
Таким образом, вы можете создать пакет me/guzzle-wrapper
и:
1.0.0
с composer.json
: {
"name": "me/guzzle-wrapper",
"require": {
"php": "<5.5",
}
}
2.0.0
с composer.json
: {
"name": "me/guzzle-wrapper",
"require": {
"php": ">=5.5",
"guzzlehttp/guzzle": "^6.3"
}
}
Поэтому вместо этого требуется guzzlehttp/guzzle
, вы можете использовать этот мета-пакет - в зависимости от вашей версии PHP Composer установит 2.0.0
, который требует Guzzle или 1.0.0
, который ничего не требует.
Но если ваш пакет способен работайте без Guzzle, возможно, вы должны перенести это требование в раздел suggest
?