1. ホーム
  2. python

[解決済み] Python3 で ** や pow() でサポートされていないオペランド型: 'str' と 'int' [重複].

2022-02-01 14:41:20

質問

私のPython3コード

def ask():

    while True:
        try:
            n = input('Input an integer: ')
        except:
            print ('An error occurred! Please try again!')
            continue
        else:
            break


    print ('Thank you, you number squared is: ', n**2)

数値の2乗を求めるとエラーになるのはなぜですか?

unsupported operand type(s) for ** or pow(): 'str' and 'int' 

コマンドラインからでも問題なし

>>> 3**2
9

解決方法は?

input は文字列を返します。 ** は2つの数字を必要とします。