[ホーム] - [よく見るエラーメッセージ一覧] - ["leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers" の原因と対処]

【Python】"leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers" の原因と対処 | range 型のデータを生成する





作成日:2022/03/01


range 型のデータを作成しようとしたところ、次のエラーが発生しました。


SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers



これは10進整数リテラルで先頭に0を付けたことが原因です。(8進整数には0oプレフィックスを使用します。)


【間違い】


for x in range(01 , 5 , 1):
print("rangeの値: " + str(x))

File "c:\temp\test.py", line 3
for x in range(01 , 5 , 1):
^
SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers

【正しい】

for x in range(1 , 5 , 1):
print("rangeの値: " + str(x))

rangeの値: 1
rangeの値: 2
rangeの値: 3
rangeの値: 4

サンプルコード

以下は Windows 10 環境における正常実行可能なサンプルコードです。


range関数 により、指定した範囲及び間隔の range型オブジェクトを生成することが可能です。
次の例では0から5までのrangeオブジェクトを生成しています。

サンプルコード:


for x in range(5):
print("rangeの値: " + str(x))


実行結果:

rangeの値: 0
rangeの値: 1
rangeの値: 2
rangeの値: 3
rangeの値: 4




次の例では0から始まり15で終わる、間隔3の range オブジェクトを生成しています。

サンプルコード:


for x in range(0,15,3):
print("rangeの値: " + str(x))


実行結果:

rangeの値: 0
rangeの値: 3
rangeの値: 6
rangeの値: 9
rangeの値: 12







本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)

[ホーム] - [よく見るエラーメッセージ一覧]