[Python]競プロでよく出てくるエラーと間違い

1 min読了の目安(約1100字TECH技術記事

実行環境

paiza Python3
macOS Catalina10.15.6

よく出てくるエラー

EOFError: EOF when reading a line

訳 「標準入力を入れてくださいな」
標準入力の入れ忘れ。例えば、こういうプログラムでの標準入力の入れ忘れ。標準入力を入れてあげればOK。

N = int(input())

TypeError: unsupported operand type(s) for +: 'int' and 'str'

訳 「型変換がないかよくチェックしよう」
型変換忘れ。型を変えてあげれば良い。例えば、これだと1行目をN = int(input())に変えれば良い。

N = input()
print(123+N)

NameError: name 'N' is not defined

訳 「そんな(ここではN)名前のものは存在しませんよ。」

S = input()
print(N)
l.append(51)

など、「名前を定義してあげなかった」「名前を途中で変更したのに他のところで変更し忘れていた」と言うミスが多い。

SyntaxError: unmatched ')'

訳 「かっこの数がちがうよ。」
余計な「)」を誤って書いたときに出るエラー。

print(634))

TypeError: 'float' object cannot be interpreted as an integer

訳 「小数は整数みたいに扱っちゃだめだぜ」
100**0.510.0になってしまうから、場合に応じてint(100**0.5)などにする。

print([i for i in range(100**0.5)])

問題

エラーの原因を見つけてください。

1

l = [0 for _ in range(100)]
prnt(l)

2

print('6'+6)

3

for i in range(100):
    for j in range(10,int(input())**0.5):
        print(i*j)

標準入力

25

解答

1

書き間違い。prntprintの間違い。

2

文字列と数字を足してはならない。

3

**0.5はfloat型を返す。25などの平方数に限らず。