2017-09-02 10 views
3
sum_of_squares = sum(i ** 2) for i in range(1, 101) 

私は、私はそれを実行すると、それは私にforを指して、構文エラーになりますが、何らかの理由で、範囲内のすべての数字を二乗し、それらを合計しようとしています。無効な構文

私はこれとほぼ完全に同一の例をいくつかオンラインで見てきましたが、問題の原因がわかりません。

リスト/範囲を含む数学で重大な問題を抱えています(リスト内のすべての数値で整数が割り切れるかどうかわからない別の例は、リストの最初の数値、定数intおよびオペランドエラー)。オンラインで役立つ情報源はありますか?

+1

ようこそスタックオーバーフロー!あなたの質問は[良いフォーム](https://stackoverflow.com/help/how-to-ask)にあり、あなた自身と問題のある説明を解決しようとしています。それをつけろ! –

+0

["python generator expression syntax"](https://www.google.ca/search?q=python+generator+expression+syntax)を検索すると、関連するリソースが得られます。 –

答えて

4

あなたは発電機を使用する権利ですが、あなたの構文が間違っている:

sum(i ** 2 for i in range(1, 101)) 

発電機がsumの引数です。上記は、338350と評価されます。