Okay, now for the answer. Let's switch back to the code for a moment.
We'll even put in an example just to see what it actually does.
You should have already done this, but just in case you haven't
let's run this and see what it does. We put in 4 and 5. It came out with 20.
That actually should be enough for you to make out which of the answers
that I gave you is correct.
It's clearly computing the product of these two, at least in this example.
But why in general is that what it's doing?
Let's actually take a look at the code and see what happens.
We start off with a and b, and we leave them alone, but we put copies of them into x and y.
We have a z variable that we initialize to 0.
Then what we're going to do is we're going to keep detrimenting x,
keep subtracting 1 from x until it hits 0.
Each time we subtract 1 from x we add y into z.
We're starting off with z as 0, and we add y to it--how many times? X times.
Z at the end of this is x added to itself x times--x * y.
It is, in fact, computing the product of these.
Now, that was kind of an informal argument.
Can we be a little bit more formal and mathematical to show
why it is that what this is computing is the product of a and b?
Bien, ahora para la respuesta. Vaya a cambiar atrás al código durante un momento
aún pondremos en un ejemplo solamente para ver lo que esto en realidad hace.
Usted ya debería haber hecho esto, pero por si acaso usted no tiene
van a controlar esto y ver lo que esto hace. Ponemos en 4 y 5. Esto salió con 20.
En realidad debería ser bastante para usted para distinguir cuál de las respuestas
que le di es correcto.
Esto claramente calcula el producto de estos dos, al menos en este ejemplo.
Pero por qué en general es que lo que esto hace?
Van a en realidad mirar al código y ver que pasa
comenzamos con un y la b, y los abandonamos solo, pero ponemos las copias de ellos en x y y.
tenemos una variable de z que inicializamos a 0.
Entonces que vamos a hacer es vamos a guardar detrimento x
gue restando 1 de x hasta que esto golpee 0.
Cada vez restamos 1 de x añadimos y en la z.
comenzamos con la z como 0, y le añadimos y - cuántas veces? X veces
la Z al final de esto es x añadido a sí veces x - x * y.
Ello, de hecho, calcula el producto de estos
Ahora, que era amable de un argumento informal.
podemos ser un poquito más formales y matemáticos para mostrar
por qué será que qué esto calcula es el producto de un y la b?
では答えを解説します Pythonの画面に戻ります
実際に数値を入れて試してみましょう
すでにしていると思いますが念のためです
実行します 4と5を当てはめたら結果は20でした
これで選択肢の中のどれが
正解か分かると思います
少なくともこの例では2つの数字の積です
なぜこうなるのでしょう
コードを見て考えてみます
まずaとbの値をxとyに当てはめます
zはゼロに初期化します
次にxを減らし続けていきます
ゼロになるまでxから1をマイナスし続け
xから1を引く度にzにyを足します
ゼロから始めたzにyを何回足すでしょうか x回です
最終的にzはyをx回足したもの すなわちxにyをかけたもの
つまりxとyの積となります
ここまでは非形式的な解説です
次はこのプログラムの実行結果がaとbの積となる
形式的かつ数学的な説明方法を考えてみましょう