2

だから私はPython内のforループについて頭を悩ませようとしてきましたが、それらがどのように機能するのか理解できません。数値のリストを調べてそれらをすべて加算する for ループを作成しようとしていますが、構文がどのように機能するかについて本当に苦労しています。

私が理解していることから、構文は次のとおりです。

for w in words:
    print w, len(w)

誰かがこの反復変数がどのように機能するかを説明できますか(w)、おそらく数値のリストの例を使用してください?

私はこれを試しましたが、私はそれがすべて間違っていると思います。

numbers = raw_input("> ")
addition = 0
for number in numbers:
    addition = addition + number
print addition
4

5 に答える 5

2

まあ、小さなコンソール セッションでこれが解消されるはずです。簡単に言えば、Python はオブジェクトをループしiterableます。これはどういう意味ですか。リストや配列のような文字列のようなものを意味します。

>>> numbers = [1, 2, 3, 4, 5]
>>> for n in numbers: print n
1
2
3
4
5

基本的に、ループできるものは何でもループします。別の例を次に示します。

>>> my_happy_string = "cheese"
>>> for c in my_happy_string: print c
c
h
e
e
s
e

単語のリストを使用した例を次に示します。

>>> list_of_words = ["hello", "cat", "world", "mouse"]
>>> for word in list_of_words: print word
hello
cat
world
mouse

0基本的に、Python は for ループを作成するためにループできるオブジェクトを必要とします。そのため、 で開始して で終了する for ループが10必要な場合は、次のようにします。

>>> for i in range(0, 10): print i
0
1
2
3
4
5
6
7
8
9

range関数が返すものを見てみましょう。

>>> range(0, 10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

基本的に、リストを返すだけです。つまり、簡単に言えば、何かのリストが必要です。技術的には、文字列は文字がくっついたリストです。

それが役立つことを願っています。

于 2013-10-08T20:44:22.103 に答える
0

あなたが持っているのはforeachループのようなものです。

多分このようなもの:

input = raw_input("> ") #separate with spaces
sum = 0
numbers = [int(n) for n in input.split()]
for number in numbers:
    sum = sum + number
print sum
于 2013-10-08T20:43:09.887 に答える