Я работаю над Visual Studio о проекте Python 3. Пользователь вводит номер 01102003060d8090a305
Затем я 01102003060d8090a305
номера: ['01', '10', '20', '03', '06', '0d', '80', '90', 'a3', '05']
и взять четвертый элемент списка с помощью этого кода:
dynamic_array = [ ]
hexdec = input("Enter even number ");
strArray = [hexdec[idx:idx+2] for idx in range(len(hexdec)) if idx%2 == 0]
dynamic_array = strArray
print(dynamic_array)
print(dynamic_array[3])
Итак, я хочу, чтобы третий элемент из 03
был целым числом, а после шестого элемента массива show with continou три элемента выглядели следующим образом: 03 80 90 a3
Если целое число изменяется, оно по-прежнему идет после шестого элемента, но отображает только количество элементов, включая целое число например, 02 80 90
Есть ли все-таки сделать это?
Вы можете использовать isdigit(), чтобы проверить, есть ли у вас число или буква в вашем массиве:
dynamic_array = [ ]
hexdec = input("Enter even number ");
strArray = [hexdec[idx:idx+2] for idx in range(len(hexdec)) if idx%2 == 0]
dynamic_array = strArray
if dynamic_array[3].isdigit():
endValue = dynamic_array[3]
print dynamic_array[3]
for i in range(6,6+int(endValue)):
print dynamic_array[i]
num = dynamic_array[3]
integer_array = [num]
for i in dynamic_array[6:]:
if i.isdigit():
integer_array.append(i)
print(' '.join(integer_array[:int(num) + 1]))
a3
03
, выходные данные могут быть буквами и целыми числами, в то время как когда 3-й элемент является другим целым числом, таким как 02
, в выходных данных должны быть только целые числа?
Вы можете dynamic_array
список dynamic_array
и использовать общую распаковку для формирования нового списка:
n = dynamic_array[3]
print([n, *dynamic_array[6 : 6 + int(n)]])
['03', '80', '90', 'a3']
, только выглядит так: 03 80 90 a3
03 80 90 a3
вы можете сделать: ' '.join((n, *dynamic_array[6 : 6 + int(n)]))