😊
[Python]競プロでよく出てくるエラーと間違い
実行環境
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.5
は10.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
書き間違い。prnt
はprint
の間違い。
2
文字列と数字を足してはならない。
3
**0.5
はfloat型を返す。25などの平方数に限らず。
Discussion