У овој теми научили бисмо како претворити низ у цео број са и без употребе уграђеног типа података. Знамо да је низ збирка знакова пореданих секвенцијално затворених у наводнике, а цео број број без икаквих децималних зареза и који није приложен ниједној врсти наводника.
Али када се поставља питање како претворити један тип података у други, Питхон пружа једноставан начин за међусобну конверзију. У овом случају видимо како можемо претворити низ у цео број следећим редоследом:
Коришћење уграђених типова података
Претпоставимо да када из неког разлога узмем унос од корисника, Питхон га узима и враћа као сам низ. Другим речима, чак и ако неко упише број као улаз, Питхон га враћа као низ.
наме = инпут ('Како се зовеш:') принт (наме) принт (типе (наме)) аге = инпут ('Вхат ис иоур аге:') принт (аге) принт (типе (аге))
Излаз:
Како се зовеш: Тира
Тира
Колико имаш година: 20
двадесет
Па видите, врста имена и старости узета за улаз су „Стринг“.
Сада, претпоставимо да ако желимо да додамо 5 узрасту, урадићемо следеће:
наме = инпут ('Како се зовеш:') принт (наме) принт (типе (наме)) аге = инпут ('Вхат ис иоур аге:') принт (аге) принт (типе (аге)) принт (аге + 5)
Излаз:
Како се зовеш: Тира
Тира
Колико имаш година: 20
двадесет
како се користе утичнице у јави
Трацебацк (последњи последњи позив):
Датотека 'Ц: /Усерс/прац.пи', ред 9, у
штампа (старост + 5)
ТипеЕррор: мора бити стр, а не инт
Не можемо да додамо 5 узрасту, јер је узраст типа Стринг и не можемо директно да рачунамо помоћу жица. Дакле, доб морамо променити у цео број, јер смо старост узели као улаз, а Питхон га враћа као Стринг.
Стога.
наме = инпут ('Како се зовеш:') принт (наме) принт (типе (наме)) аге = инпут ('Вхат ис иоур аге:') принт (аге) принт (типе (аге)) аге = инт ( старост) штампа (старост + 5)
Излаз:
Како се зовеш: Тира
Тира
Колико имаш година: 20
двадесет
25
Конвенционалан начин
Претпоставимо да не желимо да користимо уграђену функцију инт () за претварање низа у цео број.Зато морамо да користимо конвенционалан начин да га претвори.
Ево једноставног начина за конверзију без употребе инт ().
'' '' 123 '-> 123' -12332 '-> -12332' '' деф стр_то_инт (инпут_стр): оутпут_инт = 0 иф инпут_стр [0] == '-': старт_идк = 1 ис_негативе = Труе елсе: старт_идк = 0 ис_негативе = Нетачно за и у опсегу (старт_идк, лен (инпут_стр)): место = 10 ** (лен (инпут_стр) - (и + 1)) цифра = орд (инпут_стр [и]) - орд ('0') оутпут_инт + = место * цифра ако је_негативно: ретурн -1 * оутпут_инт елсе: ретурн оутпут_инт с = '554' к = стр_то_инт (с) принт (типе (к)) с = '123' принт (стр_то_инт (с)) с = '-123' принт (стр_то_инт (с))
Излаз:
123
-123
Прво ћемо проверити да ли број који је обезбедио корисник садржи знак минус или не, тј. Да ли је негативан број или не.Ако садржи прву позицију у знаку минус, започињемо конверзију са друге позиције која садржи бројеве.
Било који број, рецимо 123, може се написати у облику -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3
Слично томе, сваки улазни број делимо помоћу реч (аргумент) .
орд (‘0’) враћа 48, орд (‘1’) враћа 49 итд.
Овде користимо логику да је орд ('1') - орд ('0) = 1, орд (' 2 ') - орд (' 0 ') = 2 итд., Што нам даје значајан број који треба преузети из датог улазни број.
Напокон, излаз који добијамо из функције је легитиман цео број који смо претворили из датог улазног низа.
Дакле, као што видите, можемо претворити било који низ у цео број било помоћу функције инт () или на уобичајени начин.
Надам се да сте добро научили концепте и стога га испробајте како би био тачнији и тиме смо дошли до краја овог чланка о Претварању низа у инт користећи Питхон.
Имате питање за нас? Молимо вас да га помињете у одељку за коментаре овог водича за Стринг то Интегер и јавићемо вам се што је пре могуће.
Да бисте стекли детаљно знање о Питхону, заједно са разним апликацијама, можете се пријавити за уживо са 24/7 подршком и доживотним приступом.