як дадаць лічбы ў спіс у python


адказ 1:

Па-першае, вазьміце ўвод як raw_input () у спісе нумароў і ўжыце на ім функцыю spilled ():

nums = raw_input ("Увядзіце лічбы:") .split () # спіс, які мае радкі

У гэтым радку захоўваюцца розныя нумары, падзеленыя прабелам, у зменных нумарах спісу ў фармаце радка.

(Вы можаце праглядзець спіс, напісаўшы:

нумары друку

Калі вы ўвялі лічбы 1 2 3 у якасці ўваходных дадзеных, вы ўбачыце наступны вывад:

['1', '2', '3']

Але гэтыя радкі не павінны складаць частку вашага кода.)

Зараз вам трэба стварыць пусты спіс. Пазней у гэтым спісе будуць захоўвацца значэнні папярэдняга спісу ў выглядзе зліткаў

num = [] # гэта павінна мець увод у "nums" як ints

Вам трэба пераўтварыць кожны нумар першага нумара спіса ў int і захаваць яго ў гэтым другім нумары спіса. Гэта можна зрабіць, прайшоўшы першы спіс праз цыкл for, пераўтварыўшы кожны элемент гэтага спісу з дапамогай функцыі int () і дадаўшы яго да другога спісу з дапамогай функцыі append ():

для i ў нумарах: num.append (int (i))

Вось і ўсё. Праца выканана. Вы можаце праглядзець вынікі, напісаўшы нумар друку.

Карацей кажучы, вам патрэбен гэты невялікі код:

nums = raw_input ("Увядзіце лічбы:") .split () # спіс, які мае радкіnum = [] # гэта павінна мець увод у "nums" як intsдля i ў нумарах: num.append (int (i))нумар друку

Вынікі, якія вы ўбачыце, будуць такімі:

Спадзяюся, гэта дапаможа!


адказ 2:

Вы заўсёды павінны ўключаць правільна адфарматаваны ўзор зыходнага кода з любым пытаннем праграмавання, якое вы публікуеце на грамадскім форуме, у групе навін альбо ў спісе рассылання.

Скажам, вы пачалі з кода, які выглядае прыблізна так:

пачатковае_значэнне = [-3, -2, -1, 0]addenda = raw_input ('Калі ласка, увядзіце набор лічбаў з прабелам:')

Каб выкарыстоўваць гэтыя новыя дадаткі, мяркуючы, што ваш карыстальнік прадастаўляе правільна адфарматаваны ўвод, вы можаце зрабіць нешта накшталт:

Initial_value.extend ([int (x) для x у addenda.split ()])

Метад .extend () на Python пералічвае паслядоўнасць новых элементаў і дадае кожны да сябе. У гэтым выпадку мы прадстаўляем паслядоўнасць, якая дынамічна ствараецца пры разуменні спіса.

Разуменне спісаў - гэта трохі сінтаксічнага цукру ў Python (і некаторых іншых мовах), якія дазваляюць дынамічна генерыраваць і фільтраваць спіс.

Гэтае разуменне бярэ спіс / паслядоўнасць, вернутыя радком .split (), і выклікае функцыю int () для кожнага. Метад .split () па змаўчанні падзяляецца на прабелы, а int () - гэта тып / канструктар для цэлых лікаў. Перадача аднаго аргумента радка ў int () спрабуе разабраць радок як цэлае.

Калі любы з гэтых элементаў падрадка не можа быць прааналізаваны як цэлае, чым int (), выкліча выключэнне і ўвесь выраз будзе перапынены (у гэтым выпадку Initial_value не будзе зменены --- але выключэнне, калі яно не злоўлена, прывядзе да інтэрпрэтатар, каб завяршыць трасіроўкай стэка.

Такім чынам, гэты ўкладыш не вельмі надзейны. Вы можаце зрабіць нешта накшталт:

з __future__ імпартаваць функцыю друкукалі 'raw_input' не ў рэж. (__ убудаваны__): raw_input = уводprompt = 'Калі ласка, увядзіце набор лічбаў з прабелам:'праўда: паспрабуйце: дадатак = raw_input (падказка) Initial_value.extend ([int (x) для x у addenda.split ()]) за выключэннем ValueError як e: print ('Bzzzt! Паўтарыце спробу') працягваць перапынак

У гэтым выпадку я аддзяліў запыт толькі для разборлівасці. (Я таксама дадаў крыху шаблоннага ўзору, каб гэты прыклад кода працаваў празрыста ў Python 2.7 або 3.x).


адказ 3:

Мяркую, вам патрэбны ўвод карыстальніка гэтага тыпу:

2 3 4 7 9

якія будуць прыняты за ўваходныя дадзеныя, а затым захаваць кожны з іх у спісе.

Вы можаце прыняць радок як уваход, а потым падзяліць яго, выкарыстоўваючы прабел у якасці раздзяляльніка.

значэнні = input (). split ()

Элементы, якія захоўваюцца ў значэнні, будуць радкамі. Вы можаце адлюстраваць іх у выглядзе цэлых лікаў пасля ўводу, выкарыстоўваючы:

значэнні = спіс (map (int, input (). split ()))

"значэнні" цяпер будуць утрымліваць цэлыя лікі.

>>> значэнні = input (). split ()2 3 4 7 9>>> значэнні['2', '3', '4', '7', '9']>>> значэнні = спіс (map (int, input (). split ()))2 3 4 7 9>>> значэнні[2, 3, 4, 7, 9]

адказ 4:

Калі вы маеце на ўвазе, як дадаць кожнае слова ў радок, то split () павінен быць тым, што вы шукаеце:

>>> string = "прывітанне, свет">>> string.split ()['Прывітанне Сусвет']

Каб выкарыстоўваць гэта для цэлых лікаў, уведзеных карыстальнікам, вы можаце выкарыстоўваць:

>>> user_input = input ("Увядзіце нумары \ n")Набярыце свае нумары1 2 3>>> [int (x) для x у user_input.split ()][1, 2, 3]

Звярніце ўвагу, што split () прымае прабел у якасці раздзяляльніка па змаўчанні, але гэта можа быць што заўгодна. Напрыклад:

>>> user_input = input ("Увядзіце нумары \ n")Набярыце свае нумары1,2,3>>> [int (x) для x у user_input.split (",")][1, 2, 3]

адказ 5:

Такім чынам, карыстальніку прапануецца ўвесці элементы. І ён уваходзіць у элементы, падзеленыя прасторай.

a = input ("Калі ласка, увядзіце элементы")друк (a.split ())

Давайце выкажам здагадку, што карыстальнік уводзіць 1 2 3 4 5. Такім чынам, значэнне "a" будзе "1 2 3 4 5". Але вы хочаце дадаць значэнні ў спіс. Такім чынам, проста зрабіце a.split (), як згадвалася ў радку 2. Выхад быў бы прыблізна такі

['1', '2', '3', '4']

PS: Прыклад, згаданы вышэй, заснаваны на выпадку выкарыстання, згаданым у каментарыях.


адказ 6:
l = [x для x ва ўваходзе (). split ()]друк (л)

Уваход:

>>> 1 2 ff 4 gg 6

Выхад:

['1', '2', 'ff', '4', 'gg', '6']

Вы таксама можаце выкарыстоўваць функцыю карты для пэўнага тыпу дадзеных, напрыклад (Python 2x):

x = map (int, raw_input (). split ())

Уваход:

>>> 1 2 3 4 5

Выхад:

['1', '2', '3', '4', '5']

адказ 7:

Вы можаце выкарыстоўваць наступны сінтаксіс:

l = спіс (карта (int, input (). split ()))

друк (л)

Увод: 1 2 3 4

Выхад: [1, 2, 3, 4]

Я думаю, што гэта самы просты спосаб зрабіць гэта.

Тлумачэнне: Мы пачынаем з унутраных дужак. Трэцяя дужка прымае цэлы лік, падзелены прабеламі. Другая дужка адлюстроўвае значэнні, а трэцяя дужка пераўтварае іх у спіс.