Как да конвертирате низ в цяло число с помощта на Python



Тази статия ще ви предостави подробни и изчерпателни знания за това как да преобразувате низ в цяло число по различни начини с примери.

В тази тема ще научим как да преобразуваме низ в цяло число с и без използване на вграден тип данни. Знаем, че низът е колекция от символи, подредени последователно затворени в кавички, а цяло число е число без никакви десетични точки и не е затворено с какъвто и да е тип кавички.

String към цяло число python





Но когато възникне въпросът как да конвертираме един тип данни в друг, Python предоставя лесен начин да конвертирате един в друг. В този случай виждаме как можем да преобразуваме низ в цяло число в следния ред:

Използване на вградени типове данни



Да предположим, че когато по някаква причина приемам вход от потребителя, Python го взема и връща като самия низ. С други думи, дори ако някой напише число като вход, Python го връща като низ.

name = input ('What is your name:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age))

Изход:

Как се казваш: Тайра



Тайра

На каква възраст сте: 20

двайсет

Виждате ли, видът на името и възрастта, взети като вход, е „String“.

Сега, да предположим, че ако искаме да добавим 5 към възрастта, ще направим следното:

name = input ('What is your name:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age)) print (age + 5)

Изход:

Как се казваш: Тайра

Тайра

На каква възраст сте: 20

двайсет

Traceback (последно последно обаждане):

Файл „C: /Users/prac.py“, ред 9, в

печат (възраст + 5)

TypeError: трябва да е str, а не int

Не можем да добавим 5 към възрастта, защото възрастта е от тип String и не можем да правим директна математика с низове. Така че трябва да променим възрастта на цяло число, защото сме взели възрастта като вход и Python я връща като String.

Следователно.

name = input ('What is your name:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age)) age = int ( възраст) печат (възраст + 5)

Изход:

Как се казваш: Тайра

Тайра

На каква възраст сте: 20

двайсет

25

Конвенционален начин

Да предположим, че не искаме да използваме вградената функция int (), за да преобразуваме низ в цяло число.Така че трябва да използваме конвенционален начин превръщам.

Ето един прост начин да преминете към конверсия, без да използвате int ().

'' '' 123 '-> 123' -12332 '-> -12332' '' def str_to_int (input_str): output_int = 0, ако input_str [0] == '-': start_idx = 1 is_negative = True else: start_idx = 0 is_negative = Невярно за i в обхват (start_idx, len (input_str)): място = 10 ** (len (input_str) - (i + 1)) цифра = ord (input_str [i]) - ord ('0') output_int + = място * цифра, ако е_отрицателно: return -1 * output_int else: return output_int s = '554' x = str_to_int (s) print (type (x)) s = '123' print (str_to_int (s)) s = '-123' печат (str_to_int (s))

Изход:

123

-123

  • Първо ще проверим дали номерът, предоставен от потребителя, съдържа някакъв знак минус или не, т.е. дали е отрицателно число или не.Ако съдържа на първа позиция в знак минус, започваме преобразуването си от втората позиция, която съдържа числа.

  • Всяко число, да речем 123, може да бъде записано във формата -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

  • По същия начин разделяме всеки от входния номер, използвайки думи (аргумент) .

    goto команда c ++
  • ord (‘0’) ще върне 48, ord (‘1’) връща 49 и т.н.

  • Тук използваме логиката, че ord ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2 и т.н., което ни дава значителния брой, който трябва да бъде извлечен от даденото входен номер.

  • Накрая изходът, който получаваме от функцията, е законно цяло число, което преобразувахме от дадения входен низ.

Така че, както можете да видите, можем да преобразуваме всеки низ в цяло число, използвайки функцията int () или по конвенционалния начин.

Надявам се, че сте научили добре понятията и затова го изпробвайте, за да бъде по-точен и с това стигнахме до края на тази статия за Преобразуване на низ в int с помощта на Python.

Имате въпрос към нас? Моля, споменете го в раздела за коментари в този урок за низ към цяло число и ние ще се свържем с вас възможно най-скоро.

За да получите задълбочени познания за Python заедно с различните му приложения, можете да се регистрирате за живо с 24/7 поддръжка и доживотен достъп.