2017-06-13 16 views
-3

私はこれで本当に新しく、私はMIT OCWコースでPythonを学ぼうとしています。 1回の講義で、教授はPythonでx = ''という文が意味することは何ですか?

for i in range(1, 101): 
    s = str(i) 
    if i % 3 == 0 or i % 5 == 0: 
     s = '' 
     if i % 3 == 0: 
      s = s + 'Fizz' 
     if i % 5 == 0: 
      s = s + 'Buzz' 
    print s 

私はこのコードの目的が何であるかを知っていて、かなりs=''以外のやろうとしているものを理解し、私は本当にそれが何をするかわからない。、このコードを書きました

+0

sを空の文字列に設定しますか? – csmckelvey

+2

''''は空文字列ですが、本当にprofに質問してください。 – cdarke

答えて

0

は、s = ''は、空の文字列を作成しますが、それはそれが行われた理由の質問に答えていません。

あなたが何をするか何か理解していない場合には、一つの可能​​な戦略は、それを削除し、コードを実行することです。これを行った場合は、空文字列ss = s + 'Fizz')に他の文字列が追加されると、後続の行にエラーが発生します。あなたは数ができます空の文字列と変数を作成する3と5の両方を分割する際の文字列を連結したいので、あなたはただ、(あなたが最初のための可能性はなく、秒)これらの行にs = 'Fizz'のようなものを持っていませんでしたあなたはそれをする。

+0

助けてくれてありがとう!それほど感謝します! – Ringo

1

s = ''は、その値としてリテラル空の文字列を有するオブジェクトを初期化します。

このオブジェクトはstr型を持ちます。

しかし、警戒する...

>>> s = '' 
>>> bool(s) 
False 
0

ライン4上のコードのセクション:

s = '' 

は、変数 's' は、空白文字列に設定しますが、変数がありますまだ設定されているので、後でアクセスすることができます。

教授がこれを行うことを選んだのは、最初に整数 'i'を格納するために 's'が使用されていましたが、それを使用して文字列( 'Fizz'または 'Buzz ')、それをクリアする必要があります。他の人が言ったように

0

空の文字列の初期化が、何もありません。その後、数値が3で割り切れる場合は、元の文字列に「Fizz」という単語が追加(連結)されます。この文字列は空白なので、最終出力は「Fizz」のみになります

具体的に説明すると、 テイク:

s = "this number is: " 

の代わりに:

s="" 

あなたがまだ知らない場合には、連結のあなたのアイデアを与えるだろう。

関連する問題