Создание цикла for для 3 строк - PullRequest
0 голосов
/ 05 октября 2018

Итак, у меня есть строка с именем «Number» и «abf573».Задача состоит в том, чтобы выяснить, есть ли в строке «Number» только символы и цифры из шестнадцатеричной системы.

Мой план состоял в том, чтобы сделать цикл for, в котором мы проходим каждую позицию строки 'Numbers', чтобы проверить с помощью оператора if, является ли это чем-то вне шестнадцатеричной системы.Чтобы проверить это, я подумал о том, чтобы записать AF, af и 0-9 в списки или разделить строки.

Моя проблема сейчас в том, что я никогда не делал ничего подобного в Python.Я знаю, как сделать для циклов и if- / else- / elif-Statements, но я не знаю, как реализовать это в этой проблеме.

Было бы неплохо, если бы кто-нибудь дал мне подсказку, как это сделать, или если мой образ мышления даже правильный или нет.

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Я считаю довольно умным и быстрым попытаться преобразовать эту строку в целое число, используя int(), и обработать исключение ValueError, которое возникает, если это невозможно.
Вот прекрасный короткий код:

my_string = 'abf573'
try:
    result = int(my_string, 16)
    print("OK")
except ValueError:
    print("NOK")
0 голосов
/ 05 октября 2018

Строки итерируемые .Таким образом, вы можете написать

Number = '12ab'

for character in Number:
    if character in 'abcdef':
         print('it is HEX')

Кроме того, есть метод isdigit для строк, так что ваш номер шестнадцатеричный это not Number.isdigit()

...