ソリューションプレビュー:数値文字列をで変換しますint()。非決定的な入力(バイナリ、ヘックス)の場合、ベースを渡します。無効な入力に対処するために、エラー処理または事前検証を追加します。
方法1:int()に10進数字文字列を変換します
ステップ1:数値文字列を保存または読み取ります。
s = "42"ステップ2:文字列を整数に変換します。
n = int(s)ステップ3:計算で整数を使用するか、印刷してください。
print(n * 2) # 84ヒント:int()主要/末尾の空白を無視し、ようなオプションの標識をサポートします"+17"または" -3 "。
方法2:他のベースの弦を解析する(バイナリ、六角、オクタル)
ステップ1:文字列のベースを識別します(バイナリの場合は2、オクタルの場合は8、1666個)。
提案された読み:
ステップ2:2番目の引数としてベースを渡しますint()。
# Binary
b = "1010"
n = int(b, 2) # 10
# Hexadecimal
h = "1A"
m = int(h, 16) # 26注:2〜36の任意のベースを使用できます。
方法3:無効な入力を安全に処理します(試してください/除いて、または事前チェック)
ステップ1:コンバージョンをtry/を除いてブロックを除いて、悪い入力をキャッチします。
s = "abc"
try:
n = int(s)
print(n)
except ValueError:
print("Invalid input: cannot convert to integer")ステップ2:オプションでは、以前に検証しますstr.isdigit()数字の入力用。
s = "12345"
if s.isdigit():
print(int(s))
else:
print("Not a pure digit string")チェック:str.isdigit()兆候を受け入れません("-5")または小数("12.3")。これらのケースのパスを除いてtry/を使用します。
ステップ1:文字列をフロートに変換し、次にintに変換します。
s = "88.8"
n = int(float(s)) # 88 (truncates toward zero)注:これにより、部分的な部分が切り捨てられます。丸めが必要な場合は、変換してくださいfloat適用しますround()前にint()。
方法5:数値文字列のリストを変換します
ステップ1:各要素を介してマップしますint新しいリストを作成します。
xs = ["1", "2", "3"]
nums = list(map(int, xs)) # [1, 2, 3]ステップ2:または、リストの理解を使用します。
nums = [int(x) for x in xs]ヒント:アイテムが無効になる可能性がある場合は、Try/を除いてそれを使用して適用する関数に変換を包みますmapまたは理解。
一般的な落とし穴
- 非数字のテキストを渡す(たとえば、
"hello")上昇ValueError。プログラムを実行し続けることを除いて、try/を使用してください。 - フロート文字列を解析する(たとえば、
"12.5") とint()失敗;に変換しますfloat最初に切り捨てが許容される場合。 - 正しいベースのないベース固有の文字列を解析すると、誤った結果またはエラーが得られます。文字列が小数点でない場合は、常にベースを渡します。
とint()直接的な解析、非決定的な文字列の基本引数、および簡単な検証の場合、入力を自信を持って変換して、コードを堅牢に保つことができます。














