#python #список
Вот программа: i = 1 k = 0 p = 0 n = int(input()) for i in range(1, n+1): a = int(input()) if a % 2 == 0: k += 1 if a % 2 != 0: p += 1 print(abs(k-p)) Элементы можно вводит в терминал только так: 3 1 2 3 А нужно вот так: 3 1 2 3 Как это сделать?
Ответы
Ответ 1
можно разбить строку на числа: i = [int(a) for a in input().split()] пояснение: input() содержит введённую строку, .split() разбивает её по пробельным символам, создавая список полученных значений, дальше каждый элемент этого списка превращается в int, и добавляется в список i Это выражение аналогично следующему: i = [] for a in input().split(): i.append( int(a) ) результат: IN: "12 214 5 24 5" OUT: [12, 214, 5, 24, 5] использование в вашей программе: i = 1 k = 0 p = 0 n = int(input()) # не будет использоваться nums = [int(a) for a in input().split()] for a in nums: if a % 2 == 0: k += 1 if a % 2 != 0: p += 1 print(abs(k-p))Ответ 2
input1 = list(map(int, '12 214 5 24 5'.split())) input2 = [int(a) for a in '11 213 4 23 5'.split()] print(input1) # [12, 214, 5, 24, 5] print(*input2) # 11 213 4 23 5 from itertools import chain print(*chain(input1, input2)) # 12 214 5 24 5 11 213 4 23 5Ответ 3
Предлагаю такой вариант n=int(input()) a=map(int, input().split(maxsplit=n)) print(sum(a))
Комментариев нет:
Отправить комментарий