Страницы

Поиск по вопросам

пятница, 14 февраля 2020 г.

Ввод n элементов в одну строку

#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))

Комментариев нет:

Отправить комментарий