数字→数値
組み込み関数intを使います。
https://docs.python.org/ja/3/library/functions.html#int
組み込み関数intを使わないで書いてみます。
def str_to_int(str_num): # 正と負で変換の開始位置が異なる。 if str_num[0] == '-': start_index = 1 is_negative = True else: start_index = 0 is_negative = False int_num = 0 for i in range(start_index, len(str_num)): # 桁数 place = 10 ** (len(str_num) - (i+1)) # ASCIIコードを用いてその桁の数字->数値へ変換 digit = ord(str_num[i]) - ord('0') int_num += place * digit # 負の場合は-1を掛ける if is_negative: return -1 * int_num return int_num
数値→数字
組み込み関数strを使います。
https://docs.python.org/ja/3/library/functions.html#func-str
組み込み関数strを使わないで書いてみます。
def int_to_str(int_num): # 負の時は正の値にして扱いやすくしておく。 if int_num < 0: is_negative = True int_num *= -1 else: is_negative = False str_num = [] while int_num > 0: # ASCIIコードを用いてある桁の数値を数字に変換 str_num.append(chr(ord('0') + int_num % 10)) # 桁を繰り上げる int_num //= 10 # 小さい桁からに並んでいるので逆にする str_num = str_num[::-1] # リスト内の文字を結合する。 str_num = ''.join(str_num) # 負の時は-をつける。 if is_negative: return '-' + str_num return str_num