Understanding TypeError: unsupported operand type(s) for ^: Python の 'float' と 'int' (単純)
^ Pythonの正しい理解(初級者向け)
バブルソートと選択ソートの長さと安定性を比較するときの平均、間隔、分散を計算するプログラムをpythonでコーディングしてみました。
コードは以下の通りです。
i=eval(input("": "))#Give the number of data
list1=[]
for x in range(0,i):
list1.append(eval(input()))#Input data
list2=[]
for n in range(0,i):
list2.append((list1[n]-(sum(list1)/i))^2)
print("Maximum and minimum spacing:",max(list1)-min(list1),"Mean:",sum(list1)/i,"Variance is:",sum(list2)/i)
すると、プログラムがエラーになります。
Traceback (most recent call last):
File "C:/Users/22655/Desktop/yy.py", line 7, in <module>
list2.append((list1[n]-(sum(list1)/i))^2)
TypeError: unsupported operand type(s) for ^: 'float' and 'int'
エラーは list2.append((list1[n]-(sum(list1)/i))^2) という行の ^ にあり、エラーには float vs. int integer と記載されています。
としてデータを入れてください。
その後、コードを次のように変更しました。
list2.append((list1[n]-(sum(list1)/i))**2)
結果は正しく実行されます
<ブロッククオート最大間隔と最小間隔 0.017017602920532227 平均値。0.035138225541992 分散は。3.689622309593687e-05
IDLEとの相互作用のもと、(^)記号の意味を探る。
>>> (0.213253632)^2
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
(0.213253632)^2
TypeError: unsupported operand type(s) for ^: 'float' and 'int'
>>> (4)^2
6
>>> (4)*(4)
16
>>> (4)**2
16
>>> (0.213253632)**2
0.04547711156119142
>>>
pythonの^記号を指数演算と誤解していたことが判明しました。pythonでは一般に、指数演算を行うには (**) または pow(a,b)
>>> pow(2,5)
32
>>> pow(5,2)
25
>>> 2**5
32
>>> 5*2
25
そして、^はもうpythonでは指数を意味しない。
<ブロッククオートはビット単位の等オア論理演算子です。
Pythonの^は明らかに
等オルの論理演算子
ヘテロジニアス論理演算子とは何ですか?
最も一般的なものは、以下の例で説明するように、or論理演算子とwith論理演算子のスーツです。
or 演算子です。
01010101
V 11001010
------------
11011111
で
または操作
ここで、0は1との演算の後に1、1は1との演算の後に1、0は0との演算の後に0である。
同様に
with in arithmetic
0は0と1の演算の後0、1は1の演算の後1
で表される等オルの論理演算子の演算規則は以下の通りです。
1は0で1を操作し、1は1で0を操作し、0は0で0を操作する
上記0, 1はバイナリ
pythonで^を使って計算する
例
>>> 5^2
コンピュータは、まず5と2を別々に2進数に変換します
5 ==> 101
2 ==> 010
次に、異種演算または論理演算を行う
というのは
101^010
その結果、111
111 ==> 7 の結果に続く。
>>> 5^2
7
このほかにも、ビット単位の論理演算子はたくさんありますが、ここでは割愛します。
関連
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】Pythonのsocket.errorです。[Errno 111] 接続が拒否されました。
-
[解決済み】範囲外のポップインデックス【重複あり
-
[解決済み] タプル項目を個別の変数に分割する
-
[解決済み] Django サーバ エラー: ポートはすでに使用中です。
-
[解決済み] numpyでベクトルの逆クロス積を計算するにはどうしたらいいですか?
-
[解決済み] ValueError: dictにfieldnamesにないフィールドが含まれている。
-
[解決済み] Matlabの'hold on'に相当するPythonの機能
-
[解決済み] OperationalError, no such column. ジャンゴ
-
EnvironmentErrorのため、パッケージをインストールできませんでした。[Errno 28] デバイスに空き領域がありません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】dmatricesにカラムが表示されない
-
[解決済み】TKinterでボタンを無効にする/有効にする
-
[解決済み] 文字列の中で部分文字列が最後に現れるインデックスを検索する
-
[解決済み] MissingSectionHeaderError: ファイルにセクションヘッダがない
-
[解決済み] Python3 で ** や pow() でサポートされていないオペランド型: 'str' と 'int' [重複].
-
[解決済み] Pythonの「範囲」を使った2桁の数え方
-
[解決済み] この単純なベンチマークで、なぜSQLiteはRedisより速いのか?
-
(int "ではなく)strをstrに連結するとエラーが発生する。
-
python エラー。TypeError: 'module' オブジェクトは呼び出し可能ではありません Solution
-
pythonの未解決のリファレンスソリューション